一.安装插件包
elasticsearch-analysis-ik-7.7.1.zip
链接:https://pan.baidu.com/s/1HXiQ5vEYU1cSMt6dhUhxoQ
提取码:uzcv
在es的plugins目录下新建一个ik文件夹,把压缩包放入ik中
目录结构是这样的:
/opt/elasticsearch-7.7.1/plugins/ik
解压zip包:
安装支持ZIP的工具
yum install -y unzip zip
安装完成后:
直接解压:
unzip elasticsearch-analysis-ik-7.7.1.zip
然后删除
rm -rf elasticsearch-analysis-ik-7.7.1.zip
完成后,重启es服务即可。
二.ik的基本使用
ik_max_word: 会将文本做最细粒度的拆分
ik_smart: 会做最粗粒度的拆分
GET /_analyze { "analyzer": "ik_smart", "text": "我是中国人" }
GET /_analyze { "analyzer": "ik_max_word", "text": "我是中国人" }
存储时,使用ik_max_word,搜索时,使用ik_smart
PUT /my_index { "mappings": { "properties": { "text": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": "ik_smart" } } } }
三.ik相关配置
es/plugins/ik/config
相关文件介绍:
IKAnalyzer.cfg.xml:用来配置自定义词库 main.dic:ik原生内置的中文词库,总共有27万多条,只要是这些单词,都会被分在一起 preposition.dic: 介词 quantifier.dic:放了一些单位相关的词,量词 suffix.dic:放了一些后缀 surname.dic:中国的姓氏 stopword.dic:英文停用词
自定义词库:
(1)自己建立词库:每年都会涌现一些特殊的流行词,网红,蓝瘦香菇,喊麦,鬼畜,一般不会在ik的原生词典里
自己补充自己的最新的词语,到ik的词库里面
IKAnalyzer.cfg.xml:ext_dict,创建mydict.dic。
补充自己的词语,然后需要重启es,才能生效
custom/ext_stopword.dic,已经有了常用的中文停用词,可以补充自己的停用词,然后重启es