一、什么是IK分词器
分词:即把一段文字(中文、英文、其他)划分成一个个的关键字,我们在搜索时候会将自己的信息进行分词,会把 数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个 词,比如 “我的中文名是赵四” 会被分为:“我”,“的”,“中文名”,“是”,“赵”,“四”,这显然是不符合要求的,所以我们需要安装中文分词器 ik 来解决这个问题。
如果要使用中文,建议使用ik分词器,IK提供了两个分词算法:
- ik_smart:最少切分
- ik_max_word:ik_max_word为最细粒度划分
二、安装
2.1、下载与es对应版本的ik分词器:ik分词器github下载地址
2.2、下载完毕之后,解压放入es的插件目录下即可:
cd /Users/wells/Tools/Elasticsearch/elasticsearch-7.6.0/plugins
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
unzip elasticsearch-analysis-ik-7.6.0.zip -d es-ik
2.3、重启es
# 获取pid
ps -ef | grep elasticsearch
# kill 进程
kill -9 pid
观察ES启动日志:
tail -f /Users/wells/Tools/Elasticsearch/elasticsearch-7.6.0/logs/elasticsearch.log
可以看到 ik 分词器被加载了
2.4、命令
使用 elasticsearch-plugin list 命令可查看加载的 plugins
三、测试
通过kibana测试
3.1、ik_smart 为最少切分
3.2、ik_max_word为最细粒度划分
四、自定义dic
这种自己需要的词,需要自己加到我们的分词器的字典中
4.1、ik 分词器增加自己的配置
- cd 到 es 的插件目录
- 增加自定义字典
- 修改自定义字典内容
- 自定义字典文件加入到配置
- 重启es
重启es之后,查看效果:
以后的话,我们需要自己配置 分词就在自己定义的dic文件中进行配置即可