IK分詞器插件
什么是Ik分詞器?
分詞:即把一段中文或者別的划分成一個個關鍵字,我們在搜索的的時候回把自己的信息進行分詞,回把數據庫中或者索引庫中的數據進行分詞,然后進行一個匹配操作,默認的中文分詞是將每個字看成一個詞。
Ik分詞器兩種分詞模式:
-
ik_max_word
: 會將文本做最細粒度的拆分,比如會將"中華人民共和國國歌"拆分為"中華人民共和國,中華人民,中華,華人,人民共和國,人民,人,民,共和國,共和,和,國國,國歌",會窮盡各種可能的組合; -
ik_smart
: 會做最粗粒度的拆分,比如會將"中華人民共和國國歌"拆分為"中華人民共和國,國歌"。
安裝
下載安裝 https://github.com/medcl/elasticsearch-analysis-ik/releases ,解壓到 elasticsearch下的plugin目錄,重啟加載即可,可以看到Ik分詞器被加載了。
可以通過 elasticsearch-plugin 命令查看加載進來的插件:
在Kibana中使用分詞器
GET _analyze
{
"analyzer": "ik_smart",
"text": ["我是中國人"]
}
GET _analyze
{
"analyzer": "ik_max_word",
"text": ["我是中國人"]
}
查看不同的分詞效果,其中 ik_smart 為最少分詞效果
ik_max_word 為最細粒度划分!窮盡詞庫的可能!
問題:
我們輸入 “我很喜歡敲代碼“,發現 ”敲代碼“ 三個字被拆開了。
類似這種需要的次,我們需要自己加入到我們的分詞字典當中!
保存完成之后重啟 Es和Kibana 訪問即可!