微信搜索superit|邀请体验:大数据, 数据管理、OLAP分析与可视化平台 | 赞助作者:赞助作者

Elasticsearch5.6.11+Ik分词器和自定义词库的配置与使用

elasticsearch aide_941 26℃

Elasticsearch5.6.11+Ik分词器和自定义词库的配置与使用

1、Ik分词器下载

https://github.com/medcl/elasticsearch-analysis-ik中下载对应版本的IK分词器elasticsearch-analysis-ik-5.6.11.zip。

2、Ik分词器配置

在elasticsearch-5.6.11根目录plugins文件夹下新建一个名为ik的文件夹,将elasticsearch-analysis-ik-5.6.11.zip解压到该文件夹下,如图:

3、重启elasticsearch。若加载ik分词器成功,启动日志中会显示如下日志:

[2018-10-08T16:57:18,878][INFO ][o.e.p.PluginsService     ] [node-1] loaded plugin [analysis-ik]

ik_smart 和 ik_max_word 是两个不同的拆分粒度,最小粒度分词:

http://127.0.0.1:9200/index0/_analyze?analyzer=ik_max_word&pretty=true&text=我的世界

参数中index0是创建的索引名称。增加pretty参数会让Elasticsearch美化输出(pretty-print)JSON响应以便更加容易阅读。

4、Ik分词器自定义词库配置与使用

在config下新建自定义词库extra_mydic.dic,在里面添加了两个词“爱奇艺”和“百度”。然后在在IKAnalyzer.cfg.xml中添加该词库,并重启elasticsearch。在默认最小粒度分词的情况下关键词“爱奇艺”会被分为三个单字“爱”“奇”“艺”,但我想分词结果中有完词爱奇艺,看下配置词库后的效果:

http://127.0.0.1:9200/index0/_analyze?analyzer=ik_max_word&pretty=true&text=爱奇艺

结果符合预期。ik词库配置文件中还可以配置停词等,可自行尝试。若是要配置多个自定义词库,每个词库之间只需以英式分号隔开即可。

注意:(1)词库文件格式是UTF-8-BOM,(2)词库之间的分隔符是英式分号

转载请注明:SuperIT » Elasticsearch5.6.11+Ik分词器和自定义词库的配置与使用

喜欢 (0)or分享 (0)