IK分词器:中文分词器
分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一一个匹配操作,默认的中文分词是将每个字看成一个词不使用用IK分词器的情况下),比如“我爱狂神”会被分为”我”,”爱”,”狂”,”神” ,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。
IK提供了两个分词算法: ik_smart和ik_max_word ,其中ik_smart为最少切分, ik_max_word为最细粒度划分!

1、下载

版本要与ElasticSearch版本对应
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

2、安装

ik文件夹是自己创建的
加压即可(但是我们需要解压到ElasticSearch的plugins目录ik文件夹下)
IK分词器(elasticsearch插件) - 图1

3、重启ElasticSearch

加载了IK分词器
image.png

4、使用 ElasticSearch安装补录/bin/elasticsearch-plugin 可以查看插件

elasticsearch-plugin list
image.png

5、使用kibana测试

ik_max_word:最细粒度划分(穷尽词库的可能) 切分成了很多个词,并且会重复,该算法就是根据词典把所有的词都切分出来。
image.png
ik_smart:最少切分 分为了若干个字、词,IK分词器会在内部维护一个词典,分词算法就是根据该词典作为基础进行分词,也可以手动添加自定义的词典。 ik_smart分词算法切割的词是不会重复的,比如分“我爱你呀” ,可能会切分成我爱 和你呀,但不会切分成 “我爱”、“爱你”、“呀”,因为我爱和爱你的爱字重复使用了,也就是一个字只会被切分到某个词上。把爱跟我组合了,那这个爱字就不会跟其他字组合了,仅仅是这个爱字,如果内容有多个爱字,那么其他爱字不会受影响。
image.png

6、添加自定义的词添加到扩展字典中

elasticsearch目录/plugins/ik/config/IKAnalyzer.cfg.xml
打开 IKAnalyzer.cfg.xml 文件,扩展字典
IK分词器(elasticsearch插件) - 图6
创建字典文件,添加字典内容
IK分词器(elasticsearch插件) - 图7
重启ElasticSearch,再次使用kibana测试
IK分词器(elasticsearch插件) - 图8