01-ElasticSearch IK分词器(中文分词器)
简介
分词:即把一段中文或者别的划分成一个个的关键字,我们在搜索时候会把自己的信息进行分词,会把数据库中或者索引库中的数据进行分词,然后进行一一个匹配操作,默认的中文分词是将每个字看成一个词(不使用用IK分词器的情况下),比如“分词”会被分“分”,”词”,这显然是不符合要求的,所以我们需要安装中文分词器ik来解决这个问题。
IK提供了两个分词算法: ik_smart
和ik_max_word
,其中ik_smart
为最少切分, ik_max_word
为最细粒度划分
安装
注意:版本要与ElasticSearch版本对应
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
在
elasticsearch/plugins
目录下创建ik文件夹,然后把ik分词器压缩包解压到该目录中注:我之前遇到elasticesearch版本为8.2.2,而ik最新版本才8.2.0,所以在
plugin-descriptor.properties
修改elasticsearch.version=8.2.2
然后重启ElasticSearch
使用
ElasticSearch安装补录/bin/elasticsearch-plugin
可以查看插件1
E:\ElasticSearch\elasticsearch-7.6.1\bin>elasticsearch-plugin list
使用kibana测试
ik_smart
:最少切分ik_max_word
:最细粒度划分(穷尽词库的可能)从上面看,感觉分词都比较正常,但是大多数,分词都满足不了我们的想法,如下例
那么,我们需要手动将该词添加到分词器的词典当中
添加自定义的词添加到扩展字典中
修改配置文件 elasticsearch目录/plugins/ik/config/IKAnalyzer.cfg.xml
,增加扩展字典
1 |
|
在ik/config中增加自己的字典文件newadd.dic,配置自己的需要的字段。
1 |
|
重启ElasticSearch,再次使用kibana测试