IK分词器
IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包,功能很强大。其实ElasticSearch本带有分词器,对英文的支持非常好,对中文分词不是很好。当然还有其他的分词器比如HanLp
下载IK分词器插件
https://github.com/medcl/elasticsearch-analysis-ik(注意:下载的版本需要与ElasticSearch对应,ElasticSearch是7.2的,analysis-ik也必须是7)
下载压缩包后,可以根据官网的配置方法,大部分博客都是根据官网的方法来配置的,需要maven编译
ElasticSearch配置ik分词器
编译后把target/release目录下的elasticsearch-analysis-ik-1.3.0.zip上传到/usr/local/elasticsearch-1.4.4/plugins/analysis-ik目录下然后使用unzip解压。
把下载的ik插件中config目录下的文件拷贝到/usr/local/elasticsearch-1.4.4/config目录下,这些文件时ik的配置文件,custom是自定义词库文件。
重启es
有的博客提到修改elasticsearch.yml文件,把ik分词器设置为es的默认分词器。我添加这句配置后报错,不知道什么原因,可能是7.2的不支持这种配置了
index.analysis.analyzer.default.type:ik
自定义分词器
1:创建一个dic文件,编码格式必须为utf-8无BOM格式,每个词一行多个词需要换行。
2:将自定义的dic文件上传到/usr/local/elasticsearch-1.4.4/config/custom目录下
3:修改ik的配置文件/usr/local/elasticsearch-1.4.4/config/IKAnalyzer.cfg.xml,在其中指定自定义的dic文件。
4:重启es