ElasticSearch中使用ik分词器进行实现分词操作
简介:在默认的情况下,ES中只存在Stander分词器,但是这个分词器往往不满足我们的分词需求,这里通过ik分词器进行自定义我们的分词操作
1、第一步将ik分词器进行下载
下载地址:https://github.com/medcl/elasticsearch-analysis-ik
需要注意,需要选择和自己的ES版本对应的版本
2、将ik分词器解压之后放到ES的插件目录下
在默认的情况下,IK分词器提供了两种分词方式,一种是ik_smart方式,一种是ik_max_word方式,
第一种方式为智能分词,基本可以将一句话进行分词处理,但是对于一些网络热词就不适用了,
第二种方式解释为,它会将一句话进行最大限制的分词,例如我是中国人,可以分为我、是、中国人、国人、中国等,它也存在无法将热词进行分词的操作
如果想要实现热词分词的话,可以采用第三种方式:通过修改IK分词器的远程分词地址实现分词(请求一个地址获取分词)
这里通过nginx举例(也可以通过Django、tomcat等实现)
实现方式:
在nginx的html目录中创建es目录,在目录中创建一个文本文件,在文件中写入一些热词
访问nginx查看效果
在ik分词器的配置中设置远程分词地址,配置文件位置如下
将配置在nginx中的分词文件地址复制到指定位置即可
最后重启ES查看效果,当然,需要在配置分词器的时候使用ik分词器才可以哟