1. 程式人生 > >ElasticSearch 5.4 自定義插件

ElasticSearch 5.4 自定義插件

pro rac script 倉庫 函數定義 數據 col alt .cn

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