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执行。详细使用方法见官网。

最新文章

  1. 解决Spine骨骼混合动画错乱问题
  2. spring发送邮件(多人接收或抄送多少带附件发送)
  3. hdu3487 伸展树(区间搬移 区间旋转)
  4. 关闭火车头dedecms发布模块自动关键词,解决火车头发布dedecms文章关键词过多问题
  5. 搭建Titanium开发环境
  6. myeclipse 10创建maven项目
  7. 【原】在一般处理程序中设置session
  8. ckeditor
  9. sql 嵌套事务学习笔记
  10. 在Mac上配置/使用Github
  11. 《得知opencv》注意事项——矩阵和图像处理——cvOr,cvOrS,cvrReduce,cvRepeat,cvScale,cvSet and cvSetZero
  12. mvc中html导出成word下载-简单粗暴方式
  13. filebeat -> logstash -> elasticsearch -> kibana ELK 日志收集搭建
  14. move_uploaded_file的failed to open stream错误处理
  15. Python练手例子(7)
  16. Pair Project
  17. GitHub搭配使用Travis CI 进行自动构建服务
  18. WPF DEV dxc:ChartControl 柱状图
  19. 如何用TexturePacker打包素材
  20. SQL 2017 远程连接被拒绝

热门文章

  1. UIPageViewController基本使用
  2. 使用webpy创建一个简单的restful风格的webservice应用
  3. HDU1712:ACboy needs your help(分组背包模板)
  4. [LeetCode] 53. Maximum Subarray_Easy tag: Dynamic Programming
  5. Toaster
  6. python ddt 实现数据驱动一
  7. Summary: Class Variable vs. Instance Variable && Class Method
  8. 总结C#获取当前路径的7种方法
  9. LCD驱动
  10. Object-C-Foundation-set