IK分词器介绍
elasticsearch-analysis-ik git地址:
https://github.com/medcl/elasticsearch-analysis-ik
分词方式
Analyzer: ik_smart , ik_max_word
Tokenizer: ik_smart , ik_max_word
es安装ik插件有2种方式: plugin自动安装方式和手动解压方式。
IK分词器plugin方式安装
进入elasticsearch的bin路径,执行如下命令:
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
执行完后,重启elasticsearch,ik安装完毕。
IK分词器手动解压安装
手动安装方式时,es和ik版本号尽量相互对应,如果elasticsearch版本号与ik版本号不一致,需要更改很多配置,所以建议尽量让elasticsearch和ik插件版本号一致,以elasticsearch 6.3.2版本为例,步骤如下:
1. https://github.com/medcl/elasticsearch-analysis-ik/releases下载这个版本elasticsearch-analysis-ik-6.3.2.zip
2. 解压到到ES_HOME/plugins/analysis-ik目录下面(直接包含一个conf文件夹和一堆.jar包)
3. 重新启动ES
4. 启动 看到try load config ……IK相关信息,说明启动完成和安装IK插件完成。
IK分词功能测试:
IK 分词模式:ik_smart 和 ik_max_word
ik_smart:将文本做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂
ik_max_word:将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
IK分词自定义分词:
1、切换至ElasticSearch6.x 的IK插件目录的配置文件config(C:\elasticsearch\elasticsearch-6.3.2\plugins\analysis-ik\config)
2、在当前文件夹创建一个自定义分词文件夹(customer):C:\elasticsearch\elasticsearch-6.3.2\plugins\analysis-ik\config\customer
3、在自定义分词文件夹(customer) 创建新的自定义分词文件(new_word.dic),编辑内容如下:
中国人民警察
4、编辑IK分词的配置文件(C:\elasticsearch\elasticsearch-6.3.2\plugins\analysis-ik\config\IKAnalyzer.cfg.xml),添加自定义分词文件位置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">customer/new_word.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords"></entry>
<!--用户可以在这里配置远程扩展字典 -->
<!-- <entry key="remote_ext_dict">words_location</entry> -->
<!--用户可以在这里配置远程扩展停止词字典-->
<!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>
5、重启elasticsearch6.x,验证自定义分词功能: