一、什么是IK分词器

分词:即把一段文字(中文、英文、其他)划分成一个个的关键字,我们在搜索时候会将自己的信息进行分词,会把 数据库中或者索引库中的数据进行分词,然后进行一个匹配操作,默认的中文分词是将每个字看成一个 词,比如 “我的中文名是赵四” 会被分为:”我”,”的”,“中文名”,”是”,”赵”,”四”,这显然是不符合要求的,所以我们需要安装中文分词器 ik 来解决这个问题。
如果要使用中文,建议使用ik分词器,IK提供了两个分词算法:

  • ik_smart:最少切分
  • ik_max_word:ik_max_word为最细粒度划分

二、安装

2.1、下载与es对应版本的ik分词器:ik分词器github下载地址
2.2、下载完毕之后,解压放入es的插件目录下即可:

  1. cd /Users/wells/Tools/Elasticsearch/elasticsearch-7.6.0/plugins
  2. wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
  3. unzip elasticsearch-analysis-ik-7.6.0.zip -d es-ik

2.3、重启es

  1. # 获取pid
  2. ps -ef | grep elasticsearch
  3. # kill 进程
  4. kill -9 pid

观察ES启动日志:

  1. tail -f /Users/wells/Tools/Elasticsearch/elasticsearch-7.6.0/logs/elasticsearch.log

可以看到 ik 分词器被加载了
【Elasticsearch实践】(四)IK分词器插件 - 图1
2.4、命令
使用 elasticsearch-plugin list 命令可查看加载的 plugins
【Elasticsearch实践】(四)IK分词器插件 - 图2

三、测试

通过kibana测试

3.1、ik_smart 为最少切分

【Elasticsearch实践】(四)IK分词器插件 - 图3

3.2、ik_max_word为最细粒度划分

【Elasticsearch实践】(四)IK分词器插件 - 图4

四、自定义dic

【Elasticsearch实践】(四)IK分词器插件 - 图5
这种自己需要的词,需要自己加到我们的分词器的字典中

4.1、ik 分词器增加自己的配置

  • cd 到 es 的插件目录
  • 增加自定义字典
  • 修改自定义字典内容
  • 自定义字典文件加入到配置
  • 重启es
    【Elasticsearch实践】(四)IK分词器插件 - 图6

重启es之后,查看效果:
【Elasticsearch实践】(四)IK分词器插件 - 图7
以后的话,我们需要自己配置 分词就在自己定义的dic文件中进行配置即可