更新时间:2024-07-01 GMT+08:00

配置自定义词库

云搜索服务的自定义词库功能,支持对文本进行分词,使得一些特殊词语在分词的时候能够被识别出来,便于根据关键词搜索文本数据。例如,根据公司名称来查询,如“华为”;或者根据网络流行词来查询,如“喜大普奔”。

  • 自定义词库功能上线之前(即2018年3月10日之前)创建的集群,无法使用自定义词库功能。
  • 自定义词库一般用于中文分词,如果用于英文分词,会按照除#&+-.@_外的特殊符号进行切分。

背景信息

自定义词库使用的分词器包括IK分词器和同义词分词器。

IK分词器配备主词词库和停词词库;同义词分词器配备同义词词库。配置自定义词库需要提前准备词库文件并上传至OBS,详情请见上传词库文件至OBS

其中,IK分词器包含ik_max_word和ik_smart分词策略。同义词分词器使用的是ik_synonym分词策略。

  • ik_max_word:会将文本做最细粒度的拆分,比如会将“昨夜西风吹折千林梢”拆分为“昨夜西风,昨夜,西风,吹折千林梢,吹折,千林梢,千,林,折千林,千林,吹”,会穷尽各种可能的分词组合。
  • ik_smart:会做最粗粒度的拆分,比如会将“昨夜西风吹折千林梢”拆分为“昨夜西风,吹折千林梢”

前提条件

登录云搜索服务管理控制台的账号或IAM用户必须同时具备如下两个权限才能使用自定义词库功能。
  • “全局服务”“对象存储服务”项目的“OBS Administrator”权限。
  • 当前所属区域的“Elasticsearch Administrator”权限。

上传词库文件至OBS

配置自定义词库需要提前将词库上传至OBS桶。

  1. 表1要求准备词库文件。
    表1 词库说明

    词库类型

    说明

    文件要求

    主词词库

    主词为用户希望进行分词的特殊词语,例如“智能手机”“喜大普奔”。主词词库则是用户自定义的特殊词语的集合。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一个分词,主词文件最大支持100M。如果涉及单词,必须改成小写字母。

    停词词库

    停词为用户不希望进行分词或者关注的词语,例如“的”“什么”“怎么”等。停词词库是用户自定义的停词词语的集合。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一个分词,停词文件最大支持100M。

    同义词词库

    同义词为意义相同的一组词语,例如“开心”“高兴”。同义词词库是用户自定义的同义词词语的集合。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一组同义词对,同义词对中的同义词间逗号隔开,同义词文件最大支持100MB。

    静态主词词库

    静态主词词库是CSS服务预置的常用主词集合,当需要查看静态主词词库时,可以单击地址https://github.com/infinilabs/analysis-ik/blob/master/config/main.dic获取词库。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一个分词,静态主词文件最大支持100M。

    静态停词词库

    静态停词词库是CSS服务预置的常用停词集合,当需要查看静态停词词库时,可以单击地址https://github.com/infinilabs/analysis-ik/blob/master/config/stopword.dic获取词库。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一个分词,静态停词文件最大支持100M。

    Extra主词词库

    Extra主词词库是CSS服务预置的生僻主词集合,当需要查看Extra主词词库时,可以单击地址https://github.com/infinilabs/analysis-ik/blob/master/config/extra_main.dic获取词库。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一个分词,Extra主词文件最大支持100M。

    Extra停词词库

    Extra停词词库是CSS服务预置的生僻停词集合,当需要查看Extra停词词库时,可以单击地址https://github.com/infinilabs/analysis-ik/blob/master/config/extra_stopword.dic获取词库。

    词库文件必须是UTF-8无BOM格式编码的文本文件,一行一个分词,Extra停词文件最大支持100M。

  2. 上传词库文件至OBS桶,详细操作步骤请参见上传文件。上传的OBS桶必须和集群在相同“区域”

管理自定义词库

  1. 登录云搜索服务管理控制台。
  2. 在左侧导航栏,选择集群管理 > Elasticsearch,进入集群列表页面。
  3. “集群管理”页面,单击需要配置自定义词库的集群名称,进入集群基本信息页面。
  4. 选择“自定义词库”
  5. “自定义词库”页面,配置集群的自定义词库或修改预置词库。
    1. 当需要配置用户自定义的词库时,参考表2修改对应的词库。
      表2 配置自定义词库

      参数

      说明

      OBS桶

      选择词库文件存储的OBS位置。

      单击“创建桶”可以跳转到创建桶页面新建OBS桶,新建OBS桶必须和集群在相同“区域”,且“默认存储类别”只支持“标准存储”或“低频访问存储”。

      主词词库

      主词词库是用户自定义的词库,初始状态为空。默认选择“不更新”表示不配置该词库。

      • 当需要添加自定义的主词词库时,单击“更新”,选择txt格式的词库文件。
      • 当无需添加自定义的主词词库时,单击“不使用此词库”,删除词库。

      停词词库

      停词词库是用户自定义的词库,初始状态为空。默认选择“不更新”表示不配置该词库。

      • 当需要添加自定义的停词词库时,单击“更新”,选择txt格式的词库文件。
      • 当无需添加自定义的停词词库时,单击“不使用此词库”,删除词库。

      同义词词库

      同义词词库是用户自定义的词库,初始状态为空。默认选择“不更新”表示不配置该词库。

      • 当需要添加自定义的同义词词库时,单击“更新”,选择txt格式的词库文件。
      • 当无需添加自定义的同义词词库时,单击“不使用此词库”,删除词库。
    2. 当需要修改预置词库时,单击打开“修改预置词库”右侧的开关,参考表3修改对应的预置词库。

      如果界面不存在静态词库和Extra词库这4个词库时,表示该集群版本不支持删除或修改这4个预置词库。如果想要使用该功能,建议升级集群版本,或者新建集群并进行数据迁移。

      表3 配置预置词库

      参数

      说明

      静态主词词库

      静态主词词库是预置的常用词语的主词库。默认选择“不更新”表示使用该预置词库。

      • 当需要修改预置的静态主词词库时,单击“更新”,选择txt格式的词库文件。
      • 当不使用静态主词库时,单击“不使用此词库”,删除词库。

      静态停词词库

      静态停词词库是预置的常用词语的停词库。默认选择“不更新”表示使用该预置词库。

      • 当需要修改预置的静态停词词库时,单击“更新”,选择txt格式的词库文件。
      • 当不使用静态停词库时,单击“不使用此词库”,删除词库。

      Extra主词词库

      Extra主词词库是预置的生僻词语的主词库。默认选择“不更新”表示使用该预置词库。

      • 当需要修改预置的Extra主词词库时,单击“更新”,选择txt格式的词库文件。
      • 当不使用Extra主词库时,单击“不使用此词库”,删除词库。

      Extra停词词库

      Extra停词词库是预置的生僻词语的Extra停词库。默认选择“不更新”表示使用该预置词库。

      • 当需要修改预置的Extra停词词库时,单击“更新”,选择txt格式的词库文件。
      • 当不使用Extra停词库时,单击“不使用此词库”,删除词库。
  6. 单击“保存”,在弹窗中单击“确定”。词库信息在下方呈现,此时词库状态为“更新中”。请耐心等待1分钟左右,当词库配置完成后,词库状态变更为“成功”
  7. 当删除或更新静态词库和Extra词库这4个词库时,需要重启集群才能使配置的词库生效;其他词库的更新为动态更新,无需重启集群。重启集群的操作指导请参见重启集群