阿里云Elasticsearch(简称ES)支持上传自定义的同义词词典文件。该文件作用于阿里云ES的同义词库后,新的索引将会采用更新后的词库进行搜索。

背景信息

在上传同义词文件时,请注意:
  • 阿里云ES上传同义词文件操作会触发节点重启,在重启过程中后台会进行同义词词典的下发,生效时间与节点数量相关。
  • 假设现存索引index-aliyun使用了aliyun.txt同义词文件,当aliyun.txt文件内容变更并重新上传后,现存索引不会动态加载更新后的同义词词典。请在词典文件内容发生变化后进行索引重建操作,否则可能会造成只有新增数据使用新词典的情况。
  • 同义词词典文件要求每行只有一个同义词表达式,保存为utf-8编码的.txt文件,示例如下。
    西红柿,番茄 =>西红柿,番茄
    社保,公积金 =>社保,公积金

操作步骤

  1. 登录阿里云Elasticsearch控制台
  2. 在顶部菜单栏处,选择地域。
  3. 单击目标实例ID/名称链接。
  4. 单击左侧导航栏的ES集群配置
  5. ES集群配置页面,单击分词配置右侧的同义词配置
  6. 同义词配置页面,选择上传同义词文件的方式,并按照以下说明上传同义词文件(按照同义词配置规则中的规则生成的.txt文件)。
    配置同义词
    • 上传文件:单击上传文件,在本地选择您要上传的同义词词典。
    • OSS文件上传:输入Bucket名称和同义词文件名称,单击添加

      请确保Bucket与当前阿里云ES实例在同一区域下,且文件为.txt格式。

  7. 单击保存

后续步骤

等待阿里云ES实例的状态变为正常后,登录Kibana控制台创建索引、校验同义词,并上传测试数据进行搜索测试。创建索引时需要配置settingmapping,并且需要在setting中配置"synonyms_path": "analysis/your_dict_name.txt",详情请参见配置同义词以及官方ES的Using Synonyms文档。