怕麻烦就看上面的(极速版),是我已经打包好的 IK分词器 需要的东西。
首先说说分词器,分词,英语分词很好分,就是按固定的英文的空格,或者“-”。中文分词就稍微有点复杂了,而 Elasticsearch 默认是带分词器了,我们来测试一下。
http://123.88.88.88:9200/_analyze?analyzer=standard&pretty=true&text=sojson在线工具
得出的结果如下:
{"tokens" : [ {"token" : "sojson","start_offset" : 0,"end_offset" : 6,"type" : "","position" : 0}, {"token" : "在","start_offset" : 6,"end_offset" : 7,"type" : "","position" : 1}, {"token" : "线","start_offset" : 7,"end_offset" : 8,"type" : "","position" : 2}, {"token" : "工","start_offset" : 8,"end_offset" : 9,"type" : "","position" : 3}, {"token" : "具","start_offset" : 9,"end_offset" : 10,"type" : "","position" : 4} ]}
发现中文是一个字一个字的分对吧。我们要的需求应该是,sojson、在线、工具吧。
elasticsearch-analysis-ik 是一款中文的分词插件,支持自定义词库,也有默认的词库。
开始安装。
1、下载
下载地址为: https://github.com/medcl/elasticsearch-analysis-ik
或者从官网地址搜索:https://www.elastic.co 搜索IK即可。
本博客下面也提供了elasticsearch-analysis-ik.zip的下载链接。
2、解压。
把下载的 elasticsearch-analysis-ik.zip解压。
3、 Maven 打包
进入elasticsearch-analysis-ik-master/ 下,打包。注意:打包后的文件在elasticsearch-analysis-ik-master/target/目录下
mvn clean package
4.然后在elasticsearch-2.2.0/plugins下创建目录 ik
cd elasticsearch-2.2.0/pluginsmkdir ikcd ik
然后将打包后的elasticsearch-analysis-ik-1.8.0.jar 放入当前目录下,然后解压。
5、设置(2.0以上可以不设置,我没有设置)。
在 Elasticsearch 的config下的elasticsearch.yml文件中,添加如下代码。
index: analysis: analyzer: ik: alias: [ik_analyzer] type: org.elasticsearch.index.analysis.IkAnalyzerProvider ik_max_word: type: ik use_smart: false ik_smart: type: ik use_smart: true
或者简单配置:
index.analysis.analyzer.ik.type : “ik”
6、启动测试。
http://123.88.88.88:9200/_analyze?analyzer=ik&pretty=true&text=sojson在线工具
结果为:
{"tokens" : [ {"token" : "sojson","start_offset" : 0,"end_offset" : 6,"type" : "ENGLISH","position" : 0}, {"token" : "在线","start_offset" : 6,"end_offset" : 8,"type" : "CN_WORD","position" : 1}, {"token" : "工具","start_offset" : 8,"end_offset" : 10,"type" : "CN_WORD","position" : 2} ]}
over了,当然我以前用的版本是0.9现在是2.0,跨度太大了,所以写这个Blog话费时间较多,中间可能有一点考虑不到的因素,如果你有疑问,可以联系我,或者加群找我,我有时间的情况下,可以和你探讨。
本文介绍如何安装和使用Elasticsearch的IK分词器,以实现更精准的中文分词效果。包括下载、解压、Maven打包、配置及启动测试等步骤。
1541





