Elasticsearch配置ik中文分词器自定义词库

1.IK配置文件
在config目录下:

IKAnalyzer.cfg.xml:配置自定义词库
main.dic:分词器自带的词库,索引会按照里面的词创建
quantifier.dic:存放计量单位词
suffix.dic:存放一些常用后缀
surname.dic:存放中文姓氏
stopword.dic:停用词词库,分词时直接忽略不创建索引

2.自定义词库
说说为什么要配置自定义词库吧,现在网上出现的新词,如网红,老铁,点点关注。如果用户用的新词去做搜索条件,而ik自带的词库里没有,那么很可能搜索出来的结果不是自己想要的,或者根本就没有数据,所以我们在做ES中文分词器时,很有必要定义自己的一套词库,根据业务需求到ik的词库里面去创建自定义词库。
IKAnalyzer.cfg.xml配置内容如下:

<properties>
    <comment>IK Analyzer 扩展配置</comment>
    <!--用户可以在这里配置自己的扩展字典 -->
    <entry key="ext_dict">custom/mydict.dic</entry>
    <!--用户可以在这里配置自己的扩展停止词字典-->
    <entry key="ext_stopwords">custom/ext_stopword.dic</entry>
    <!--用户可以在这里配置远程扩展字典 -->
    <!-- <entry key="remote_ext_dict">words_location</entry> -->
    <!--用户可以在这里配置远程扩展停止词字典-->
    <!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

我们只需要补充我们的新词语到custom/mydict.dic如果需要配置多个自定义词库可以用分号;分割。

3.停用词词库
如需添加停用词(如:1-9,一到九,之间,中间等)添加到custom/ext_stopword.dic里
添加后保存退出,重启ES服务,然后进行测试

注:如docker容器下操作
1.查看所有容器:
docker ps -a
2.进入es容器:
docker exec -it 9f56538b1ec1 /bin/bash
3.切换至root用户:
su root
passwd:root
4.进入es配置:
cd elasticsearch-6.7.0/plugins/analysis-ik/config
5.配置自定义词库
vi mydict.dic
6.重启容器,测试

发布了9 篇原创文章 · 获赞 4 · 访问量 1212

猜你喜欢

转载自blog.csdn.net/weixin_43749805/article/details/102918738
今日推荐