配置自定义词库
云搜索服务的自定义词库功能,支持对文本进行分词,使得一些特殊词语在分词的时候能够被识别出来,便于根据关键词搜索文本数据。例如,根据公司名称来查询,如“华为”;或者根据网络流行词来查询,如“喜大普奔”。
![](https://support.huaweicloud.com/intl/zh-cn/usermanual-css/public_sys-resources/note_3.0-zh-cn.png)
- 自定义词库功能上线之前(即2018年3月10日之前)创建的集群,无法使用自定义词库功能。
- 自定义词库一般用于中文分词,如果用于英文分词,会按照除#&+-.@_外的特殊符号进行切分。
背景信息
自定义词库使用的分词器包括IK分词器和同义词分词器。
IK分词器配备主词词库和停词词库;同义词分词器配备同义词词库。配置自定义词库需要提前准备词库文件并上传至OBS,详情请见上传词库文件至OBS。
其中,IK分词器包含ik_max_word和ik_smart分词策略。同义词分词器使用的是ik_synonym分词策略。
- ik_max_word:会将文本做最细粒度的拆分,比如会将“昨夜西风吹折千林梢”拆分为“昨夜西风,昨夜,西风,吹折千林梢,吹折,千林梢,千,林,折千林,千林,吹”,会穷尽各种可能的分词组合。
- ik_smart:会做最粗粒度的拆分,比如会将“昨夜西风吹折千林梢”拆分为“昨夜西风,吹折千林梢”。
前提条件
- “全局服务”中“对象存储服务”项目的“OBS Administrator”权限。
- 当前所属区域的“Elasticsearch Administrator”权限。
上传词库文件至OBS
配置自定义词库需要提前将词库上传至OBS桶。
- 按表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。
- 上传词库文件至OBS桶,详细操作步骤请参见上传文件。上传的OBS桶必须和集群在相同“区域”。
管理自定义词库
- 登录云搜索服务管理控制台。
- 在左侧导航栏,选择 ,进入集群列表页面。
- 在“集群管理”页面,单击需要配置自定义词库的集群名称,进入集群基本信息页面。
- 选择“自定义词库”。
- 在“自定义词库”页面,配置集群的自定义词库或修改预置词库。
- 当需要配置用户自定义的词库时,参考表2修改对应的词库。
表2 配置自定义词库 参数
说明
OBS桶
选择词库文件存储的OBS位置。
单击“创建桶”可以跳转到创建桶页面新建OBS桶,新建OBS桶必须和集群在相同“区域”,且“默认存储类别”只支持“标准存储”或“低频访问存储”。
主词词库
主词词库是用户自定义的词库,初始状态为空。默认选择“不更新”表示不配置该词库。
- 当需要添加自定义的主词词库时,单击“更新”,选择txt格式的词库文件。
- 当无需添加自定义的主词词库时,单击“不使用此词库”,删除词库。
停词词库
停词词库是用户自定义的词库,初始状态为空。默认选择“不更新”表示不配置该词库。
- 当需要添加自定义的停词词库时,单击“更新”,选择txt格式的词库文件。
- 当无需添加自定义的停词词库时,单击“不使用此词库”,删除词库。
同义词词库
同义词词库是用户自定义的词库,初始状态为空。默认选择“不更新”表示不配置该词库。
- 当需要添加自定义的同义词词库时,单击“更新”,选择txt格式的词库文件。
- 当无需添加自定义的同义词词库时,单击“不使用此词库”,删除词库。
- 当需要修改预置词库时,单击打开“修改预置词库”右侧的开关,参考表3修改对应的预置词库。
如果界面不存在静态词库和Extra词库这4个词库时,表示该集群版本不支持删除或修改这4个预置词库。如果想要使用该功能,建议升级集群版本,或者新建集群并进行数据迁移。
表3 配置预置词库 参数
说明
静态主词词库
静态主词词库是预置的常用词语的主词库。默认选择“不更新”表示使用该预置词库。
- 当需要修改预置的静态主词词库时,单击“更新”,选择txt格式的词库文件。
- 当不使用静态主词库时,单击“不使用此词库”,删除词库。
静态停词词库
静态停词词库是预置的常用词语的停词库。默认选择“不更新”表示使用该预置词库。
- 当需要修改预置的静态停词词库时,单击“更新”,选择txt格式的词库文件。
- 当不使用静态停词库时,单击“不使用此词库”,删除词库。
Extra主词词库
Extra主词词库是预置的生僻词语的主词库。默认选择“不更新”表示使用该预置词库。
- 当需要修改预置的Extra主词词库时,单击“更新”,选择txt格式的词库文件。
- 当不使用Extra主词库时,单击“不使用此词库”,删除词库。
Extra停词词库
Extra停词词库是预置的生僻词语的Extra停词库。默认选择“不更新”表示使用该预置词库。
- 当需要修改预置的Extra停词词库时,单击“更新”,选择txt格式的词库文件。
- 当不使用Extra停词库时,单击“不使用此词库”,删除词库。
- 当需要配置用户自定义的词库时,参考表2修改对应的词库。
- 单击“保存”,在弹窗中单击“确定”。词库信息在下方呈现,此时词库状态为“更新中”。请耐心等待1分钟左右,当词库配置完成后,词库状态变更为“成功”。
- 当删除或更新静态词库和Extra词库这4个词库时,需要重启集群才能使配置的词库生效;其他词库的更新为动态更新,无需重启集群。重启集群的操作指导请参见重启集群。