1. 程式人生 > >Elasticsearch筆記六之中文分詞器及自定義分詞器

Elasticsearch筆記六之中文分詞器及自定義分詞器

中文分詞器

在lunix下執行下列命令,可以看到本來應該按照中文”北京大學”來查詢結果es將其分拆為”北”,”京”,”大”,”學”四個漢字,這顯然不符合我的預期。這是因為Es預設的是英文分詞器我需要為其配置中文分詞器。

curlHTTP://192.168.79.131:9200/shb01/_analyze?pretty=true -d'{"text":"北京大學"}'


Es整合ik不直接用ik官網的工具包,需要將ik工具包封裝成es外掛才行,這個已經有人封裝好了可以在github上下載elasticsearch-analysis-ik

1:在github上下載ik外掛原始碼


2:下載後解壓縮在根目錄下使用maven對其進行編譯。

編譯後把target/release目錄下的elasticsearch-analysis-ik-1.3.0.zip上傳到/usr/local/elasticsearch-1.4.4/plugins/analysis-ik目錄下然後使用unzip解壓。

把下載的ik外掛中config目錄下的檔案拷貝到/usr/local/elasticsearch-1.4.4/config目錄下,這些檔案時ik的配置檔案,custom是自定義詞庫檔案。



3:修改elasticsearch.yml檔案,把ik分詞器設定為es的預設分詞器

index.analysis.analyzer.default.type:ik

4:重啟es,注意es中的每個節點都要進行上述配置。

自定義分詞器

1:建立一個dic檔案,編碼格式必須為utf-8無BOM格式,每個詞一行多個詞需要換行。


2:將自定義的dic檔案上傳到/usr/local/elasticsearch-1.4.4/config/custom目錄下

3:修改ik的配置檔案/usr/local/elasticsearch-1.4.4/config/IKAnalyzer.cfg.xml,在其中指定自定義的dic檔案。


4:重啟es