本文档为您介绍阿里云Elasticsearch支持的默认插件,以及IK分词插件的冷更新和热更新的操作方法。

阿里云Elasticsearch的默认插件列表如下图所示。


当您购买了阿里云Elasticsearch实例后,系统会默认安装系统默认插件列表中的插件,您可以根据需求进行插件的卸载和安装。其中analysis-ikelasticsearch-repository-oss插件为阿里云Elasticsearch的扩展插件,默认不能卸载。
  • analysis-ik:IK分词插件。在开源插件的基础上,我们扩展支持了OSS词典文件的动态加载。支持IK词典的冷更新和热更新操作
  • elasticsearch-repository-oss:在开源插件的基础上,支持通过阿里云OSS文件系统实现索引快照的创建及恢复。

卸载/安装系统默认插件

注意 安装或卸载插件都会触发集群重启,并且卸载插件时会删除当前选中的插件,请确认后操作。
analysis-kuromoji插件为例。
  1. 单击analysis-kuromoji插件右侧操作栏下的卸载
  2. 认真阅读操作提示对话框中的注意事项,确认无误后再单击确认

    确认后,集群会进行重启。重启成功后,如果看到analysis-kuromoji插件的状态变为未安装,表示插件卸载成功。

    如果您需要再次使用此插件,可继续执行以下步骤进行安装。

  3. 单击插件右侧的安装,使用同样的方式完成插件的安装。

    插件安装会触发集群重启。重启成功后,如果看到插件的状态显示为已安装,表示插件安装成功。

IK词典更新

阿里云Elasticsearch的IK分词插件支持以下两种IK词典的更新方式。
说明 对于已经配置了IK分词器的索引,在IK词典冷/热更新操作完成后将只对新数据生效。如果您希望对全部数据生效,需要重建索引。

IK词典冷更新

IK词典冷更新需要对整个集群的词典进行更新操作。在使用IK冷更新时,会将您上传的词典文件传送到Elasticsearch节点上,并修改IKAnalyzer.cfg.xml文件,然后重启Elasticsearch节点加载词典文件。

IK词典冷更新支持修改IK自带的主词库及停用词主词库。在IK词典冷更新页面可以看到系统自带的主词典即SYSTEM_MAIN.dic,系统自带的停用词主词典即SYSTEM_STOPWORD.dic
说明
  • 如果您需要修改系统自带主词典文件,可以上传以SYSTEM_MAIN.dic为名的主词典。
  • 如果您需要修改系统自带的停用词主词典文件,可以上传以SYSTEM_STOPWORD.dic为名的停用词主词典。

使用示例(IK词典冷更新)

  1. 登录阿里云Elasticsearch控制台,单击您需要进行IK更新的Elasticsearch实例ID。
  2. 单击左侧导航栏的插件配置,找到需要更新的IK插件,单击其右侧操作栏下的冷更新

  3. 插件配置页面,单击右下方的配置

  4. 单击IK主分词词库右下方的上传dic文件,上传一个扩展主词典文件。


    说明 系统支持上传dic文件添加OSS文件两种词典更新方式。在远程词典文件内容变更后,两种方式都需要重新上传词典文件才能生效。
  5. 注意 该操作会重启实例,为保证您的业务不受影响,请确认后操作。
    滑动到页面底端,勾选该操作会重启实例按钮,请确认后操作,单击保存

  6. 重启成功后,登录kibana控制台,执行以下命令测试词典是否生效。
    GET _analyze
    {
    "analyzer": "ik_smart",
    "text": ["您词典中包含的词"]
    }
    注意
    • 系统不支持删除自带的主词典和停用词主词典。
    • 无论是词典文件变化,还是词典内容发生变化,冷更新操作都会触发集群重启。
    • 只能在集群健康的状态下进行更新。

IK词典热更新

IK词典热更新是当词典文件内容发生变化的时候,上传词典文件后Elasticsearch节点能自动加载词典文件,实现词典的更新操作。

在使用IK词典热更新功能时,如果词典文件列表发生变化,例如上传新词典文件或删除词典文件,那么整个集群都需要重新加载词典的配置(因为会涉及到修改IKAnalyzer.cfg.xml文件)。

IK词典热更新与上文的IK词典冷更新操作类似,如果您是第一次上传词典,因为需要修改IKAnalyzer.cfg.xml文件,所以是需要进行重启集群操作。

使用示例(IK词典热更新)

  1. 登录阿里云Elasticsearch控制台,单击您需要进行IK更新的Elasticsearch实例ID。
  2. 单击左侧导航栏的插件配置,找到需要更新的IK插件,单击其右侧操作栏下的热更新

  3. 插件配置页面,单击右下方的配置

  4. 单击IK主分词词库右下方的上传dic文件,上传一个扩展主词典文件。


    说明 系统支持上传dic文件添加OSS文件两种词典更新方式。在远程词典文件内容变更后,两种方式都需要重新上传词典文件才能生效。
  5. 注意 该操作会重启实例,为保证您的业务不受影响,请确认后操作。
    滑动到页面底端,勾选该操作会重启实例按钮,请确认后操作(第一次上传词典文件,需要重启),单击保存

    单击保存后,集群会触发Rolling操作,等待集群Rolling结束后,词典会自动生效。

    词典使用一段时间后,如果您需要扩充或者减少词典中的内容,可继续执行以下步骤对上述a_10words.dic文件进行修改。

  6. 进入词典热更新页面,先删除之前上传的同名词典文件,重新上传修改过的a_10words.dic同名词典文件。
    因为修改的是已存在的同名词典文件的内容,所以本次上传修改过的同名词典文件不需要Rolling整个集群,如下图所示。

  7. 单击保存
    因为使用的是Elasticsearch节点上插件自动加载的词典文件,所以每个节点获取词典文件的可能时间不同,请耐心等待词典生效。大概两分钟后再使用更新之后的词典,为了保证准确性,请登录Kibana控制台,多次执行以下命令进行验证。
    GET _analyze
    {
    "analyzer": "ik_smart",
    "text": ["您词典中包含的词"]
    }
    说明 IK热更新不支持修改系统自带的主词典,如果您需要修改系统主词典请使用IK冷更新的方式。

参考文档:elasticsearch-analysis-ik