Elasticsearch 5 Ik+pinyin分词配置详解
来源:互联网 发布:网络发国际传真 编辑:程序博客网 时间:2024/06/06 10:49
转载自:http://blog.csdn.net/napoay/article/details/53907921
一、拼音分词的应用
拼音分词在日常生活中其实很常见,也许你每天都在用。打开淘宝看一看吧,输入拼音”zhonghua”,下面会有包含”zhonghua”对应的中文”中华”的商品的提示:
拼音分词是根据输入的拼音提示对应的中文,通过拼音分词提升搜索体验、加快搜索速度。下面介绍如何在Elasticsearch 5.1.1中配置和实现pinyin+iK分词。
二、IK分词器下载与安装
关于IK分词器的介绍不再多少,一言以蔽之,IK分词是目前使用非常广泛分词效果比较好的中文分词器。做ES开发的,中文分词十有八九使用的都是IK分词器。
下载地址:https://github.com/medcl/elasticsearch-analysis-ik
配置之前关闭elasticsearch,配置完成以后再重启。
IK的版本要和当前ES的版本一致,README中有说明。我使用的是ES是5.1.1,IK的版本为5.1.1(你也许会奇怪为什么IK上一个版本是1.X,下一个版本一下升到5.X?是因为Elastic官方为了统一版本号,之前es的版本是2.x,logstash的版本是2.x,同时Kibana的版本是4.x,ik的版本是1.x,这样版本很混乱。5.0之后,统一版本号,这样你使用5.1.1的es,其它软件的版本也使用5.1.1就好了)。
下载之后进入到elasticsearch-analysis-pinyin-master目录,mvn打包(没有安装maven的自行安装),运行命令:
- 1
打包成功以后,会生成一个target文件夹,在elasticsearch-analysis-ik-master/target/releases目录下,找到elasticsearch-analysis-ik-5.1.1.zip,这就是我们需要的安装文件。解压elasticsearch-analysis-ik-5.1.1.zip,得到下面内容:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
然后在elasticsearch-5.1.1/plugins目录下新建一个文件夹ik,把elasticsearch-analysis-ik-5.1.1.zip解压后的文件拷贝到elasticsearch-5.1.1/plugins/ik目录下.截图方便理解。
三、pinyin分词器下载与安装
pinyin分词器的下载地址:
https://github.com/medcl/elasticsearch-analysis-pinyin
安装过程和IK一样,下载、打包、加入ES。这里不在重复上述步骤,给出最后配置截图
四、分词测试
IK和pinyin分词配置完成以后,重启ES。如果重启过程中ES报错,说明安装有错误,没有报错说明配置成功。
4.1 IK分词测试
创建一个索引:
- 1
测试分词效果:
- 1
分词结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
使用ik_smart分词:
- 1
分词结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
截图方便理解:
4.2拼音分词测试
测试拼音分词:
- 1
分词结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
五、IK+pinyin分词配置
5.1创建索引与分析器设置
创建一个索引,并设置index分析器相关属性:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
创建一个type并设置mapping:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
5.2索引测试文档
索引2份测试文档。
文档1:
- 1
文档2:
- 1
5.3测试(1)拼音分词
下面四条命命令都可以匹配”刘德华”
- 1
- 2
- 3
- 4
- 5
- 6
- 7
5.4测试(2)IK分词测试
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
返回结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
说明IK分词器起到了效果。
5.3测试(4)pinyin+ik分词测试:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
返回结果:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
截图如下:
使用pinyin分词以后,原始的字段搜索要加上.pinyin后缀,搜索原始字段没有返回结果:
六、参考资料
- https://github.com/medcl/elasticsearch-analysis-ik
- https://github.com/medcl/elasticsearch-analysis-pinyin
- https://my.oschina.net/xiaohui249/blog/214505
- Elasticsearch 5 Ik+pinyin分词配置详解
- Elasticsearch 5 Ik+pinyin分词配置详解
- Elasticsearch 5 Ik+pinyin分词配置详解
- Elasticsearch 5 Ik+pinyin分词配置详解
- Elasticsearch 5 Ik+pinyin分词配置详解
- Elasticsearch 5 Ik+pinyin分词配置详解
- 如何在Elasticsearch中安装中文分词器(IK+pinyin)
- 如何在Elasticsearch中安装中文分词器(IK+pinyin)
- java api访问elasticsearch下ik-pinyin分词基本使用
- elasticsearch 配置ik分词器
- elasticsearch配置ik分词器
- 配置elasticsearch 以及ik分词
- IK和pinyin分词器
- elasticsearch 配置 ik 分词与 jdbc 数据源
- ElasticSearch配置ik中文分词器
- elasticsearch ik 分词
- Elasticsearch安装ik分词
- elasticsearch 安装 ik 分词
- UVA-1442 Cav
- 程序底层工具:cl编译器
- python绘制布林带
- VAO与VBO
- 网络请求数据添加到列表(okhttp+RecyclerView)
- Elasticsearch 5 Ik+pinyin分词配置详解
- Java实现定时任务
- 写让别人能读懂的代码
- kafka-offset 存储方式
- Django创建项目与应用,及扩展与注意事项(一)
- python windows错误代码
- Angular排序删除功能
- 主流视频通话SDK比较
- UVA 210 Concurrency Simulator(deque,queue,模拟)