1. 程式人生 > 實用技巧 >IK分詞器的安裝與使用

IK分詞器的安裝與使用

分詞器

什麼是IK分詞器?

分詞:即把一段中文或者別的劃分成一個個的關鍵字,我們在搜尋時會把自己的資訊進行分詞,會把資料庫中或者索引庫中的資料進行分詞,然後進行一個匹配操作,Elasticsearch的標準分詞器,會將中文分為一個一個的字,而不是詞,比如:“石原美里”會被分為“石”、“原”、“美”、“裡”,這顯然是不符合要求的,所以我們需要安裝中文分詞器IK來解決這個問題。

IK提供了兩個分詞演算法:ik_smart和ik_max_word,其中ik_smart為最少切分,ik_max_word為最細力度劃分。

安裝IK分詞器

中文分詞外掛IK的網址是 https://github.com/medcl/elasticsearch-analysis-ik

我們可以通過find / -name elasticsearch-plugin命令搜尋elasticsearch-plugin在什麼地方

安裝IK時要注意將github上示例的版本改成自己的elasticsearch版本,我安裝的是7.6.2,所以改成如下:

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

安裝後重啟Elasticsearch服務

我們可以通過如下命令檢視安裝的Elasticsearch外掛

/usr/share/elasticsearch/bin/elasticsearch-plugin list

使用IK分詞器

首先我們通過最ik_smart小切分來測試

接著,我們通過ik_max_word最細力度切分來測試

但是有些我們自己造的詞,分詞器是無法識別的(比如:白兮會被識別為兩個詞:白和兮),這就需要我們自己加到分詞器的字典中。

通過RPM方式安裝的IK擴充套件配置檔案地址如下

vim /etc/elasticsearch/analysis-ik/IKAnalyzer.cfg.xml

現在我們在/etc/elasticsearch/analysis-ik

目錄下建立一個自己的詞典,例如:my.dic,並在其中新增"白兮"然後儲存

這裡要記得將my.dic檔案所屬的使用者和組分別改為root和elasticsearch,防止elasticsearch使用者是無法讀取該檔案的內容的,我們可以看到預設的其它詞典都是預設屬於root使用者和elasticsearch組的,我們把自定義的詞典也改成這樣

然後將我們新建的my.dic檔案增加到IKAnalyzer.cfg.xml配置檔案中

新增後重啟Elasticsearch,然後通過kibana再重新測試,可以發現,白兮已經被識別為一個詞了。

如果該文章對您有幫助,請點選推薦,感謝。