中文分詞就是將一句話的語義,分紅一個個的詞,之因此要分詞是由於須要保證搜索的準確度。Elasticsearch 默認對於英文分詞的支持較好,畢竟是老外開發的,而且英文自己的語言特性也利於分詞,只須要按空格、逗號、分號隔開便可。但中文不同,Elasticsearch 對中文分詞的時候,也是和英文同樣,一個個詞的分,因此就會致使搜索的準確度較差。例如我想搜中國這個詞,卻會返回學習中、開車中、出國事項等包含中字和國字的數據。所以咱們須要使用一些中文的分詞插件來解決這種問題。git
Elasticsearch 有許多中文分詞的插件,其中較爲流行的是elasticsearch-analysis-ik,GitHub地址以下:github
https://github.com/medcl/elasticsearch-analysis-ikbash
咱們來安裝一下這個插件,這裏以es1節點爲例,首先Elasticsearch 安裝目錄並下載該插件: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