中文分词就是将一句话的语义,分成一个个的词,之所以要分词是因为需要保证搜索的准确度。Elasticsearch 默认对于英文分词的支持较好,毕竟是老外开发的,并且英文本身的语言特性也利于分词,只需要按空格、逗号、分号隔开即可。但中文不一样,Elasticsearch 对中文分词的时候,也是和英文一样,一个个词的分,所以就会导致搜索的准确度较差。例如我想搜中国这个词,却会返回学习中、开车中、出国事项等包含中字和国字的数据。因此我们需要使用一些中文的分词插件来解决这种问题。
Elasticsearch 有许多中文分词的插件,其中较为流行的是elasticsearch-analysis-ik,GitHub地址如下:
https://github.com/medcl/elasticsearch-analysis-ik
我们来安装一下这个插件,这里以es1节点为例,首先Elasticsearch 安装目录并下载该插件:
[root@ecs-55e5 ~]# cd /usr/share/elasticsearch/
[root@ecs-55e5 elasticsearch]# wget https://github.com/medcl/elasticsearch-analysis-ik/archive/master.zip
然后在es的plugins目录下创建ik目录,并解压下载的安装包到该目录下:
[root@ecs-55e5 ~]# cd /usr/share/elasticsearch/
[root@ecs-55e5 elasticsearch]# mkdir ./plugins/ik #创建ik目录
[root@ecs-55e5 elasticsearch]# mv master.zip ./plugins/ik/ # 移动压缩文件
[root@ecs-55e5 elasticsearch]# cd plugins/ik/
[root@ecs-55e5 ik]# unzip master.zip # 解压
[root@ecs-55e5 ik]# rm -rf master.zip # 删除空目录
[root@ecs-55e5 ik]# ls # 该插件所包含的文件如下
commons-codec-1.9.jar config httpclient-4.5.2.jar plugin-descriptor.properties
commons-logging-1.2.jar elasticsearch-analysis-ik-6.5.4.jar httpcore-4.4.4.jar plugin-security.policy
其他节点也是和上面一样的步骤,这里就不赘述了。最后需重启elasticsearch节点:
[root@ecs-55e5 ~]# service elasticsearch restart
本文介绍如何使用elasticsearch-analysis-ik插件优化Elasticsearch的中文分词功能,提高搜索准确性。详细步骤包括插件下载、安装及配置。


631

被折叠的 条评论
为什么被折叠?



