一、什么是IK分词器
所谓分词,即把一段中文或者别的划分成一个个的关键字,我们在搜索时会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一个匹配的操作,默认的中文分词器是将每一个字看成一个词,比如“我爱中国”会被分成“我”、“爱”、“中”、“国”,这显然是不符合要求的,所以我们需要安装中文分词器IK来解决这个问题!

二、IK分词器的分词算法
1、ik__smart最少切分

2、ik_max_word最细粒度划分

三、安装IK
1、官网地址:GitHub - medcl/elasticsearch-analysis-ik: The IK Analysis plugin integrates Lucene IK analyzer into elasticsearch, support customized dictionary.

2、下载完毕之后,放入我们的elasticsearch的插件文件夹中

3、重启观察Elasticsearch
可以看到我们es启动的时候,加载了刚刚解压的ik插件 

4、也可以通过ES的bin下的elasticsearch-plugin.bat查看安装的插件
(1)在bin目录下,打开cmd输入命令

elasticsearch-plugin list

(2)可以查看当前安装的插件有哪些

5、使用kibana测试
(1)ik__smart最少切分:根据字典的配置,尽量少的对文档进行拆分
GET _analyze:这是通过RestFul风格请求分词器
“analyzer”:表示请求的分词要求(选择最少切分还是最细粒度!)
“text”:表示要分词的文本

(2)ik_max_word最细粒度划分:根据词库中的字典,最大程度的对文档内容进行拆分

四、配置IK分词器字典
假如我想对以下的内容进行分词,我不希望“长江东逝水”分开,这个时候就需要我们自己去配置一下属于我们自己的字典了

配置方法:
1、打开IK分词器的config配置文件夹

2、查看IKAnalyzer.cfg.xml配置文件

3、在目录下新建一个文件,后缀为.dic,把我们想配置的字典内容填进去
如果我们不希望把某个词给我拆开了,那么我就可以通过编写自己的配置字典,把文本输入进去,绑定到IKAnalyzer.cfg.xml配置文件中即可!

4、把我们自己配置的字典注入进来

5、重启ES和kibana
(1)观察ES细节,我们自己编写的字典被加载进来了!

(2)重启kibana即可

6、测试重新使用最少切分的算法,测试“滚滚长江东逝水”,是否把我们的“长江东逝水”拼接在一起了
成功!

将来我们所有需要自己配置特定的分词效果,直接在我们自己定义的dic文件中进行配置即可!!!!!!记得绑定到IKAnalyzer.cfg.xml配置文件中哦

至此,恭喜你已经掌握了安装和使用IK分词器,掌握了分词的基本规则。后续还会持续更新关于ES相关技术点,敬清期待~~~

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐