版权声明:《==study hard and make progress every day==》 https://blog.csdn.net/qq_38225558/article/details/85883699
lucene由于是jar工具包,如果要在使用lucene的环境下使用ik分词器,只需导入对应jar,做一些配置就OK.但是ES不是工具包了,是服务器.怎么集成呢?
以插件的方式集成ES服务器,客户端只需告诉我们某个字段要用这个分词器就OK了.
步骤:
①服务端安装ik插件
②客户端端指定字段用插件
1.下载ES的IK分词器插件:https://github.com/medcl/elasticsearch-analysis-ik
2.Maven打包IK插件
3.解压target/releases/文件,并将其内容放置于ES根目录/plugins/ik
4.配置 - (可默认不管)
①配置插件:
description=IK Analyzer for Elasticsearch version=5.2.2 name=analysis-ik site=${elasticsearch.plugin.site} jvm=true classname=org.elasticsearch.plugin.analysis.ik.AnalysisIkPlugin java.version=1.8 elasticsearch.version=5.2.2 isolated=${elasticsearch.plugin.isolated}
②分词器 - 词典配置 (可默认)
<?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">custom/mydict.dic;custom/single_word_low_freq.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">custom/ext_stopword.dic</entry> <!--用户可以在这里配置远程扩展字典 --> <!-- <entry key="remote_ext_dict">words_location</entry> --> <!--用户可以在这里配置远程扩展停止词字典--> <!-- <entry key="remote_ext_stopwords">words_location</entry> --> </properties>
5.重启ES - 服务端: 客户端:
6.测试分词器
注意:IK分词器有两种类型,分别是ik_smart分词器和ik_max_word分词器。
ik_smart: 会做最粗粒度的拆分,比如会将"春风十里不如你"拆分为"春风,十里,不,如你"
ik_max_word: 会将文本做最细粒度的拆分,比如会将"春风十里不如你"拆分为"春风,十里,十,里,不如,如你",会穷尽各种可能的组合
温馨小提示:也可以直接使用已集成好各种插件的elasticsearch-rtf-master.zip中文发行版,但ES版本为5.1.1。