Elasticsearch——IK分词器自定义词库

一、业务场景

       Elasticsearch是一个基于Lucene的搜索服务器,其引入IK分词器后,可以对中文进行分词。IK分词器分词的原理是在源文件中收集了很多词汇,仅在其中一个主要词汇文件main.dic文件中就有27W的词汇量。但是有的时候仅用分词器本身提供的通用词汇无法满足自己的项目特定的业务需求,比如说我要以“最长的电影”这一歌名作为搜索条件,所得到的结果如下图所示。

二、新建词库文件

        很显然,这并不是我们要的结果。而IK分词器本身也提供了自定义词库,对于开发者来说也是简单实用的。首先IK分词器是在elasticsearch安装目录的puligins文件夹中。进入plugins-->ik-->config目录,新建一个mydic.dic的文件,并在这一个文件中写入词汇,如下图所示。

三、引入自定义词库

        引入自定义词库,需要进入plugins-->ik-->config目录,修改IKAnalyzer.cfg.xml文件的内容。如下图所示,在<entry key="ext_dic>标签中写入自定义词库的路径。如下图所示。

四、重启ES

        在添加词库后,需要将elasticsearch重启。在linux系统中可以采用kill进程的方式关闭后重启,windows系统中将命令行窗口关闭,重新运行.bat文件就可以了。

五、测试结果

        再次使用postman进行测试,得到的结果如图所示,成果得到想要的结果。

发布了48 篇原创文章 · 获赞 52 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/y506798278/article/details/91303054