Loading

Elastic Stack:es ik分词器

安装插件包

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,才能生效

(2)自己建立停用词库:比如了,的,啥,么,我们可能并不想去建立索引,让人家搜索

​ custom/ext_stopword.dic,已经有了常用的中文停用词,可以补充自己的停用词,然后重启es

posted @ 2020-06-10 13:27  秋风飒飒吹  阅读(411)  评论(0编辑  收藏  举报