原文:http://blog.java1234.com/blog/articles/373.htmlhtml
elasticsearch安裝中文分詞器插件smartcnjava
elasticsearch默認分詞器比較坑,中文的話,直接分詞成單個漢字。git
咱們這裏來介紹下smartcn插件,這個是官方推薦的,中科院搞的,基本能知足需求;github
還有另一個IK分詞器。假如須要自定義詞庫的話,那就去搞下IK,主頁地址:https://github.com/medcl/elasticsearch-analysis-ik編程
smartcn安裝比較方便,elasticsearch
直接用 elasticsearch的bin目錄下的plugin命令;測試
先進入elasticsearch的bin目錄url
而後執行 sh elasticsearch-plugin install analysis-smartcn.net
-> Downloading analysis-smartcn from elastic插件
[=================================================] 100%
-> Installed analysis-smartcn
下載 自動安裝;
(注意,假如集羣是3個節點,全部節點都須要安裝;不過通常都是先一個節點安裝好全部的東西,而後克隆幾個節點,這樣方便)
安裝後 plugins目錄會多一個smartcn文件包;
安裝後,咱們須要重啓es;
而後咱們來測試下;
POST http://192.168.1.111:9200/_analyze/
{"analyzer":"standard","text":"我是中國人"}
執行標準分詞器;
結果:
中文都是單個字了;
很不符合需求;
咱們用下 smartcn;
{"analyzer":"smartcn","text":"我是中國人"}
執行結果:
咱們發現 中國 編程個單個詞彙;