Skip to Content

插件管理

Elasticsearch-Head

最新elasticsearch版本(5.0以上)已经不再支持使用内部 elasticsearch-plugin 命令来安装head插件,内置的head插件本质是调用es服务REST API包装而形成的图形化管理工具,所以使用head插件需要head管理平台网络和输入的es连接地址是相通的。

Hadoop HDFS Repository Plugin

* 通过REST API定义hdfs存储库的配置:

PUT /_snapshot/my_hdfs_repository { "type": "hdfs", "settings": { "uri": "hdfs://namenode:8020/", "path": "elasticsearch/respositories/my_hdfs_repository" } } # uri: hdfs的地址,例如:"hdfs://<host>:<port>/" # path: 数据存储/加载的文件系统中的文件路径,例如:"path/to/file"

创建成功,可以获取hdfs仓库信息:

GET /_snapshot/my_hdfs_repository

示例

{ "my_hdfs_repository": { "type": "hdfs", "settings": { "path": "elasticsearch/respositories/my_hdfs_repository", "uri": "hdfs://namenode:8020/" } } }

* 创建快照:

PUT /_snapshot/my_hdfs_repository/snapshot_1 { "indices": "index_1,index_2", "ignore_unavailable": true, "include_global_state": false }

创建成功,可以获取快照信息:

GET /_snapshot/my_hdfs_repository/snapshot_1

示例

{ "snapshots": [ { "snapshot": "snapshot_1", "uuid": "yr9T6jtLTCeVFRoNGN-9Lw", "version_id": 5050199, "version": "5.5.1", "indices": [ ".kibana", "test_index" ], "state": "SUCCESS", "start_time": "2018-02-01T08:13:26.128Z", "start_time_in_millis": 1517472806128, "end_time": "2018-02-01T08:13:28.870Z", "end_time_in_millis": 1517472808870, "duration_in_millis": 2742, "failures": [], "shards": { "total": 6, "failed": 0, "successful": 6 } } ] }

* 删除快照:

DELETE /_snapshot/my_hdfs_repository/snapshot_1

* 快照恢复:

POST /_snapshot/my_hdfs_repository/snapshot_1/_restore

注意: 若集群中已经存在需要快照恢复的索引并且为 open 状态,需要使用 `_close` API先关闭该索引,示例:

POST /.kibana/_close

更详细插件使用请参考 Hadoop HDFS Repository Plugin

IK Analysis Plugin

自定义分词词库操作

通过在 IK 配置文件中提到的如下配置:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 --> <entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">custom/ext_stopword.dic</entry> <!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">location</entry> <!--用户可以在这里配置远程扩展停止词字典--> <entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry> </properties>

IK分词支持本地自定义词库,并且支持远程热更新词库,UES通过 词库信息保存在特定索引中 来完成自定义词库的更新。下面给出在 Kibana 中的具体操作流程,其中 API 要保持完全一致

* 本地扩展字典

PUT /custom_ik/analyzer/1 { "ext_dict": [ ] }

示例:

PUT /custom_ik/analyzer/1 { "ext_dict": [ "中华人民共和国", "美利坚合众国", "大不列颠和北爱尔兰联合王国" ] }

* 本地扩展停止词字典

PUT /custom_ik/analyzer/2 { "ext_stopwords": [ ] }

示例:

PUT /custom_ik/analyzer/2 { "ext_stopwords": [ "中华人民共和国", "美利坚合众国", "大不列颠和北爱尔兰联合王国" ] }

* 远程扩展字典

PUT /custom_ik/analyzer/3 { "remote_ext_dict": "" }

示例:

PUT /custom_ik/analyzer/3 { "remote_ext_dict": "http://localhost:8080/my_dict.dic" }

* 远程扩展停止词字典

PUT /custom_ik/analyzer/4 { "remote_ext_stopwords": "" }

示例:

PUT /custom_ik/analyzer/4 { "remote_ext_stopwords": "http://localhost:8080/my_stopwords.dic" }

检测索引数据是否成功

GET /custom_ik/analyzer/1 GET /custom_ik/analyzer/2 GET /custom_ik/analyzer/3 GET /custom_ik/analyzer/4

* 最后还需一步,到控制台点击需要更新的分词词库项完成配置文件的更新,并重启集群节点使之生效。