一:默认standard分词器测试
1)启动es服务
2)打开浏览器输入: http://localhost:9200/_analyze?analyzer=standard&pretty=true&text=*******
我们可以看到 “中华人民共和国” 被分成了单个汉字。
二:Ik中文分词器安装
插件下载: https://github.com/medcl/elasticsearch-analysis-ik
我们以1.10.4版本为例: http://files.cnblogs.com/files/sunyj/elasticsearch-analysis-ik-1.10.4.zip
特别提醒:es版本不同对应下载的ik版本也不同。好像安装方法也不太一样,我这里是es2.4.4,还有一种是官方
1)在plugins文件夹下建ik文件夹
法1:
2)把下载的ik安装包解压后放到ik文件夹里,如下图:
法2
特别补充maven打包方法,我没有用,但是这是官方readme中的手动安装ik的方法。如果上面的走的通,下面的法2可以忽略:
法2:
1、 Maven 打包
进入elasticsearch-analysis-ik-master/ 下,打包。注意:打包后的文件在elasticsearch-analysis-ik-master/target/目录下
mvn clean package
2、然后在elasticsearch-2.4.4/plugins下创建目录 ik
然后将打包后的elasticsearch-analysis-ik-master/target/releases/elasticsearch-analysis-ik-1.10.4.zip 放入当前目录下,然后解压。解压完成后删除zip文件。这里记住是target下releases目录下的zip文件,网上很多教程在这里都有错误。
3)设置
在 Elasticsearch 的
config
下的
elasticsearch.yml
文件中,添加如下代码。
index.analysis.analyzer.ik.type : "ik"
4)重新启动es服务
5)打开浏览器输入:http://localhost:9200/_analyze?analyzer=ik&pretty=true&text=*******
我们可以看到用analyzer=ik “*******”被按中文的习惯分成了多个词组
Tips:
我们再分别输入:
http://localhost:9200/_analyze?analyzer=ik_max_word&pretty=true&text=中华人民共和国国歌
http://localhost:9200/_analyze?analyzer=ik_smart&pretty=true&text=中华人民共和国国歌
ik_max_word: 会将文本做最细粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,中华人民,中华,华人,人民共和国,人民,人,民,共和国,共和,和,国国,国歌”,会穷尽各种可能的组合;
ik_smart: 会做最粗粒度的拆分,比如会将“中华人民共和国国歌”拆分为“中华人民共和国,国歌”。