天天看點

ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式

随着資料量的越來越大,有一些定義的關鍵詞已經不再是常用詞彙,超出了ES自帶的ik分詞詞庫範圍,比如:“奧利給”等别稱和新聞話題詞;這就出現了一些現象,如搜尋“奧利給”,因為ik詞庫沒有此詞,故将詞分為若幹個字,檢索時會将同時含有“奧”、“利”、“給”三個字的新聞都傳回,就出現不準确的現象,很嚴重;

是以,我們要根據客戶需求在系統中自定義分詞詞庫,将這些詞統一加入到詞庫中。

操作流程:

1. cd 到自己的elasticsearch-1.7.2/config/ik/目錄下,可以看到有很多dic(dictionary字典),ik也是基于詞典進行分詞的 

ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式

2. 建立目錄custom

3. 建立txt檔案或dic檔案,或者下載下傳詞典庫(我是複制ik的dic檔案并加上自己的短語做測試),如下所示,本人裡面加了拓展檔案mydic.txt”奧利給”詞語

這裡一定要注意一定要從第二行開始寫入詞語或短語,ik不讀第一行的詞語

ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式

4. 配置ik自定義詞典配置檔案

ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式

重新開機es服務 ;看到自定義詞典被加載即可

ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式

測試:

ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式
ElasticSearch1.7之ik(中文)分詞器的自定義分詞擴充方式

這裡我們就可以認定 ,“奧利給(xxx)”這個詞,已經加入到我們ik詞典中了!