Elasticsearch 插件开发

在开发Elasticsearch v6.4.2的插件时的步骤。

准备开发

工具开发

    • Elasticsearch v6.4.2

Docker image: FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.2

OpenJDK 11 のインストール

Java SE Development Kit 11- – Downloads

IntelliJ のインストール

IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains

Gradle のインストール

$ brew install gradle

搭建开发环境

    • Elasticsearch のソースを Github から clone する

elastic/elasticsearch: Open Source, Distributed, RESTful Search Engine

检查要安装的 Elasticsearch 版本。将其导入到 IntelliJ。

$ cd elasticsearch/
$ git clone -b v6.4.2 v6.4.2
$ gradle idea # 10分ぐらいかかる

在IntelliJ的项目创建向导中进行导入操作。

IntelliJ >
  Import Project >
    elasticsearch/ >
      Import project from external model >
        Gradle

导入选项

ItemValueGradleJVM11

运行插件

制作一个能够构建并安装插件的可执行zip文件。

    • Help for plugin authors | Elasticsearch Plugins and Integrations [6.5] | Elastic

 

    Installing Plugins | Elasticsearch Plugins and Integrations [6.5] | Elastic

建设

尝试构建示例的custom-settings-plugin。

$ cd elasticsearch/plugins/examples/custom-settings
$ gradle build
# または IntelliJ からビルド
$ ls build/distributions
custom-settings-6.4.2-SNAPSHOT.zip ...

安装

如果您在Docker中运行Elasticsearch,则可以使用卷挂载上述的build/distributions目录。

# build/distributions:/tmp/custom-settings-plugin にマウントしたときの例
$ elasticsearch-plugin install file:///tmp/custom-settings-plugin/custom-settings-6.4.2-SNAPSHOT.zip
-> Downloading file:///tmp/custom-settings-plugin/custom-settings-6.4.2-SNAPSHOT.zip
[=================================================] 100%?? 
-> Installed custom-settings

执行 GET /_nodes/_all/settings 命令后,custom.list的值被添加。

广告
将在 10 秒后关闭
bannerAds