ElasticSearch 5.4 自定義插件
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
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 自定義插件