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的值被添加。