介绍
IK分词是一个中文分词,专门为了中文而生,可以自定义分词
版本适配
使用的 7.7.0
IK分词版本一定要与 es 版本保持一致
安装配置
- 安装配置
#下载
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
#在es安装目录 plugins下创建ik
mkdir /usr/local/soft/elasticsearch/plugins/ik
#解压
unzip elasticsearch-analysis-ik-7.7.0.zip -d /usr/local/soft/elasticsearch/plugins/ik
解压完之后文件,注意区分源码包,如果下载的源码需要编译否则无法启动
- 启动
/bin/elasticsearch -d
测试
- 默认分词
http://192.168.75.206:9200/_analyze #post
{
"text": "中华人民共和国"
}
默认是按照单个汉字拆分
- ik_max_word 分词
http://192.168.75.206:9200/_analyze #post
{
"text": "中华人民共和国",
"analyzer":"ik_max_world"
}
指定k_max_world
分词按照中文分词规则进行分词, 可以按照ik_smart
分词,不同分词器得到的结果不同。
- ik_smart 分词
自定义分词
实际运用中,希望有些词不做拆分,作为一个整体使用,需要使用自定义分词,IK分词器提供了自定义分词
- 分词文件
定义分词,在IK 目录下config 目录创建一个 custom.dic
文件,添加一个自定义分词
燃烧我的卡路里
正常分词,会做拆分,这里作为一个整体
- 添加到配置
自定义分词添加到IKAnalyzer.cfg.xml
中
<entry key="ext_dict">wn_custom.dic</entry>
重启elasticsearch
- 测试
总结
- IK提供了
ik_max_word
细粒度分词,ik_smart
粗粒度分词,根据需要选择不同分词规则。创建索引时分词规则必须与检索式分词保持一致
。- es 还支持自定义分词,根据项目需求,自定义一些规则