此文摘自http://www.javashuo.com/article/p-bwontbtq-ck.htmlhtml
ES默認對英文文本的分詞器支持較好,但和lucene同樣,若是須要對中文進行全文檢索,那麼須要使用中文分詞器,同lucene同樣,在使用中文全文檢索前,須要集成IK分詞器。java
能夠從GitHub上獲取:https://github.com/medcl/elasticsearch-analysis-ikgit
由於是源碼,咱們要用到maven對其進行打包,所以你須要安裝maven。github
環境:centos6.九、elasticsearsh6.3.一、java1.8centos
一、下載dom
在GitHub上獲取與easticsearch對應的ik分詞器版本。我下載的是elasticsearch-analysis-ik-6.3.1.zipelasticsearch
https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v6.3.1maven
我已經打包好的zip 百度網盤直接下載 https://pan.baidu.com/s/1H8-wcyvtYcVUna5sGH6-wQ 下載完成直接在centos中 unzip elasticsearch-analysis-ik-6.3.1.zip(同第三步)測試
二、打包spa
在本地解壓,從dom窗口進入ik分詞器的解壓目錄, 注意:解壓後的源碼中pom.xml文件中的項目版本需修改一下,下載的源代碼是6.3.1版本可是
執行maven打包命令:
mvn install
在解壓目錄找到target/releases/elasticsearch-analysis-ik-5.2.2.zip文件
三、上傳、解壓
將此文件用fit協議上傳到elasticsearch的插件目錄下(elasticsearch安裝目錄裏的plugins目錄)
解壓
unzip elasticsearch-analysis-ik-5.6.5.zip
重命名
mv elasticsearch ik
刪除壓縮包
rm -rf elasticsearch-analysis-ik-5.6.5.zip
四、重啓ES
五、測試分詞器
POST _analyze
{
"analyzer":"ik_smart",
"text":"中國駐洛杉磯領事館遭亞裔男子槍擊 嫌犯已自首"
}
用kibana插件的測試效果以下:
說明成功啦!
注意:IK分詞器有兩種類型,分別是ik_smart分詞器和ik_max_word分詞器。
ik_smart: 會作最粗粒度的拆分,好比會將「中華人民共和國國歌」拆分爲「中華人民共和國,國歌」。
ik_max_word: 會將文本作最細粒度的拆分,好比會將「中華人民共和國國歌」拆分爲「中華人民共和國,中華人民,中華,華人,人民共和國,人民,人,民,共和國,共和,和,國國,國歌」,會窮盡各類可能的組合;