插件管理
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* 最后还需一步,到控制台点击需要更新的分词词库项完成配置文件的更新,并重启集群节点使之生效。