IK分詞器的安裝與使用

分詞器

什麼是IK分詞器?git

分詞:即把一段中文或者別的劃分紅一個個的關鍵字,咱們在搜索時會把本身的信息進行分詞,會把數據庫中或者索引庫中的數據進行分詞,而後進行一個匹配操做,Elasticsearch的標準分詞器,會將中文分爲一個一個的字,而不是詞,好比:「石原美里」會被分爲「石」、「原」、「美」、「裏」,這顯然是不符合要求的,因此咱們須要安裝中文分詞器IK來解決這個問題。github

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

安裝IK分詞器

中文分詞插件IK的網址是 https://github.com/medcl/elasticsearch-analysis-ikshell

咱們能夠經過find / -name elasticsearch-plugin命令搜索elasticsearch-plugin在什麼地方數據庫

安裝IK時要注意將github上示例的版本改爲本身的elasticsearch版本,我安裝的是7.6.2,因此改爲以下:vim

/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

咱們能夠經過以下命令查看安裝的Elasticsearch插件測試

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

使用IK分詞器

首先咱們經過最ik_smart小切分來測試插件

接着,咱們經過ik_max_word最細力度切分來測試3d

可是有些咱們本身造的詞,分詞器是沒法識別的(好比:白兮會被識別爲兩個詞:白和兮),這就須要咱們本身加到分詞器的字典中。

經過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再從新測試,能夠發現,白兮已經被識別爲一個詞了。

若是該文章對您有幫助,請您點個推薦,感謝。

相關文章
相關標籤/搜索