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檔案所屬的使用者和組分別改為root和elasticsearch,防止elasticsearch使用者是無法讀取該檔案的內容的,我們可以看到預設的其它詞典都是預設屬於root使用者和elasticsearch組的,我們把自定義的詞典也改成這樣
然後將我們新建的my.dic檔案增加到IKAnalyzer.cfg.xml配置檔案中
新增後重啟Elasticsearch,然後通過kibana再重新測試,可以發現,白兮已經被識別為一個詞了。
如果該文章對您有幫助,請點選推薦,感謝。