一.分词器和ElasticSearch集成使用
1.分词器
在进行数据存储的时候,需要先进行分词。而分词指的就是按照一定的规则将词一个个切割。这个规则是有内部的分词器机制来决定的,不同的分词器就是不同的规则。
-
standard分词器
-
ik分词器
-
stop分词器
-
其他的分词器
在默认的情况下ES提供了英文相关的分词器默认为standard分词器。对于中文分词不是特别的好。所以我们需要用到中文相关的分词器,那就是IK分词器。
二.IK分词器
IK分词是一款国人开发的相对简单的中文分词器。
特点:
-
能将原本不是词的变成一个词
-
分词效果优秀
-
能将原本是一个词的进行停用,这些词我们称为停用词。停用词:单独运用没有具体语言意义的词汇,可根据语义自己定义。
安装:
Releases · medcl/elasticsearch-analysis-ik · GitHub
-
先将其解压,将解压后的elasticsearch文件夹重命名文件夹为ik
-
将ik文件夹拷贝到elasticsearch/plugins 目录下。
-
重新启动,即可加载IK分词器。
ik分词器有两个分词策略:
ik_max_word 最细粒度划分
ik_smart 最少切分(智能切分)
区别举例子:
三.自定义词库/词典
-
进入elasticsearch/plugins/ik/config目录
-
新建一个my.dic文件(文件名任意),特别注意编辑内容(以utf8无bom保存, 如果不行加一些换行)
-
修改IKAnalyzer.cfg.xml(在ik/config目录下)
-
停用的也是一样的道理:
-