ElasticSearch中使用ik分詞器進行實現分詞操作

just1t發表於2024-03-21

簡介:在預設的情況下,ES中只存在Stander分詞器,但是這個分詞器往往不滿足我們的分詞需求,這裡透過ik分詞器進行自定義我們的分詞操作
1、第一步將ik分詞器進行下載
下載地址:https://github.com/medcl/elasticsearch-analysis-ik
需要注意,需要選擇和自己的ES版本對應的版本
2、將ik分詞器解壓之後放到ES的外掛目錄下
在預設的情況下,IK分詞器提供了兩種分詞方式,一種是ik_smart方式,一種是ik_max_word方式,
第一種方式為智慧分詞,基本可以將一句話進行分詞處理,但是對於一些網路熱詞就不適用了,
第二種方式解釋為,它會將一句話進行最大限制的分詞,例如我是中國人,可以分為我、是、中國人、國人、中國等,它也存在無法將熱詞進行分詞的操作
如果想要實現熱詞分詞的話,可以採用第三種方式:透過修改IK分詞器的遠端分詞地址實現分詞(請求一個地址獲取分詞)
這裡透過nginx舉例(也可以透過Django、tomcat等實現)
實現方式:
在nginx的html目錄中建立es目錄,在目錄中建立一個文字檔案,在檔案中寫入一些熱詞

訪問nginx檢視效果

在ik分詞器的配置中設定遠端分詞地址,配置檔案位置如下

將配置在nginx中的分詞檔案地址複製到指定位置即可

最後重啟ES檢視效果,當然,需要在配置分詞器的時候使用ik分詞器才可以喲

相關文章