ElasticSearch 做为数据仓库处理速度确实很强,但是很多和业务相关的函数ElasticSearch怎么支持的,通过查询发现,ElasticSearch支持自定义插件(相当于自定义函数),通过自定义插件,开发人员可以实现各种业务相关的函数定义供相关人员使用。

1.   ElasticSearch  自定义插件编写

  后续补充。

2.  ElasticSearch  自定义插件打包

  2.1  自定义插件开发完成后,需要增加“plugin-descriptor.properties”配置文件,需要配置的信息有:

    • description:插件的描述信息,用来描述该插件的作用
    • version:插件的版本信息
    • name:插件在elasticsearch plugin中显示的名称
    • classname:插件的入口,需要实现Iplugin接口
    • java.version:插件采用的java版本信息
    • elasticsearch.version:插件发布到elasticsearch的那个特定版本上
    • 可选属性(作用暂时未知)

      • site:true表示发布为网站形式,_site目录下的内容将会起作用。
      • jvm:true表示设置的classname对应的类将会被加载,对于依赖的资源,配置等信息也需要打包成jar

  2.2  生成该文件后,将该properties文件与jar包放到一个名称为elasticsearch的文件夹中,然后将该elasticsearch文件夹压缩成zip文件,完成插件的打包过程

3.  ElasticSearch  自定义插件部署

  3.1  在elasticsearch服务器上进入elasticsearch的根目录;下列命令的执行需要使用管理员权限执行。

  3.2  在根目录下执行./bin/elasticsearch-plugin list  展示所有的插件

    

3.3  执行./bin/elasticsearch-plugin install file:///abstractDirectory/zipfile.zip 来安装插件,其中file://后跟的是zip文件的绝对目录。

3.4  如果要删除不再使用的插件,执行./bin/elasticsearch-plugin remove plugin.name,如下图中plugin.name名称为sql,此sql为plugin-description.properties中配置的name。

    

4.  ElasticSearch 自定义插件的使用

  本例子安装的插件是elasticsearch-sql插件,详见:https://github.com/NLPchina/elasticsearch-sql/。 使用方法为curl -XGET http://xx.xx.xx.xx:9200/_sql?sql=select * from indexName,sql参数后边跟的是标准sql语句,该插件会自动转化为elasticsearch 查询语言去es执行。详细使用方法见官网。

ElasticSearch 5.4 自定义插件的更多相关文章

  1. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  2. jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...

  3. Phonegap中自定义插件的使用

    在phonegap中需要实现特定相关的功能,可能需要自定义扩展一下功能,那么扩展phonegap组件就成为了可能. 源代码结构图: 本文目的在于讲述怎么扩展一个phonegap组件以及实现. 针对ph ...

  4. jquery自定义插件——以 选项卡插件为例

    一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...

  5. Cordova - 与iOS原生代码交互2(使用Swift开发Cordova的自定义插件)

    在前一篇文章中我介绍了如何通过 js 与原生代码进行交互(Cordova - 与iOS原生代码交互1(通过JS调用Swift方法)),当时是直接对Cordova生成的iOS工程项目进行编辑操作的(添加 ...

  6. jQuery自定义插件

    jQuery自定义插件 jQuery自定义插件按照功能分类,可以分为三类, 1>封装对象方法的插件,(也就是基于某个DOM元素的jQuery对象,局部的) 2>封装全局函数的插件,   ( ...

  7. cordova3.X 运用grunt生成plugin自定义插件骨架

    Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头.麦克风等.Cordova还提供了一组统一的JavaScript类库,以及为这些 ...

  8. cordova /phonegap 自定义插件

    ### cordova /phonegap 自定义插件 在使用cordova 的过程中,虽然官方提供的插件以及其他人开源的插件较多.但有时为了实现某种需求,还是需要自己编写插件. 以前总是会手动的配置 ...

  9. gulp如何自定义插件

    gulp是基于”流“的构建工具,上层流的输出就是下层流的输入,为了更好的支持链式操作,可以使用through2或者map-stream这两个库来对node stream做一层包装 这里,我们就使用th ...

随机推荐

  1. BUG笔记:Android原生浏览器不认负百分数margin致Foundation Orbit往右滑动动画出错

    一看这标题就知道无比蛋疼了是不?至少我从来不用安卓自带的浏览器... 发现这个bug的场景:万恶的Foundation,它的滚动图片插件Orbit在安卓自带浏览器下手指从左往右滑动时动画仍旧表现为从右 ...

  2. 009-java中常用的单个键值对

    1.Java 6提供AbstractMap.SimpleEntry<K,V>和AbstractMap.SimpleImmutableEntry<K,V> Map.Entry&l ...

  3. [运维-安全]CentOS7.0环境下安装kangle和easypanel

    一.康乐简介 主要特点1.免费开源kangle技术团队希望国人拥有一款真正好用.易用.实用的国产web服务器.2.跨平台可在linux.windows.freebsd.openbsd.netbsd.s ...

  4. Andrew Ng-ML-第十五章-降维

    1.数据压缩 数据压缩不仅能够减小存储空间,并且能够加速学习算法.那么什么是数据压缩呢?下面给出了一个简单的例子: 图1.数据压缩的概念 举了两个例子,一个是横轴x1是厘米,纵轴特征x2是英尺,这明显 ...

  5. end=‘’

    print('----------------') a = ['aa','bb','cc','dd','ee'] for i in range(len(a)): print(i,a[i])#默认换行 ...

  6. [LintCode] 394. Coins in a Line_ Medium tag:Dynamic Programming_博弈

    Description There are n coins in a line. Two players take turns to take one or two coins from right ...

  7. javascript脚本实现浏览器自动点击(阿里员工秒杀月饼)

    原文地址https://blog.csdn.net/ani521smile/article/details/52575063 秒杀活动页面 <!DOCTYPE HTML> <html ...

  8. Fuzzy and fun on Air Jordan 12 Doernbecher design

    Carissa Navarro keeps it warm, fuzzy and fun on her 2017 Air Jordan 12 Doernbecher design. Nike's 20 ...

  9. Java事件监听的四种实现方式

    1.事件对象: 一般继承自java.util.EventObject对象,由开发者自行定义. 2.事件源: 就是触发事件的源头,不同的事件源会触发不同的事件类型. 3.事件监听器: 事件监听器负责监听 ...

  10. linux编程之pipe()函数

    管道是一种把两个进程之间的标准输入和标准输出连接起来的机制,从而提供一种让多个进程间通信的方法,当进程创建管道时,每次 都需要提供两个文件描述符来操作管道.其中一个对管道进行写操作,另一个对管道进行读 ...