elasticsearch中文分詞器IK的使用

2022-10-10 00:45:16 字數 1402 閱讀 9102

ik中文分詞器的安裝

新增乙個索引庫

put /test

利用該索引庫進行分詞測試

get /test/_analyze

分詞結果

,

]}

可以看到比es中預設的標準分詞器standard對中文分詞要好很多

3. 自定義詞庫

post /test/analyze

預設情況下沒有我們自定義的詞庫,它會將博思奧園拆分開,如果我們不想將它拆開,我們可以自定義詞庫

,,,

,,

]}

在ik/config/ikanalyzer.cfg.xml 檔案中配置遠端擴充套件詞介面:

<?xml version="1.0" encoding="utf-8"?>

ik analyzer 擴充套件配置

myext.dic

重啟es服務,在此訪問介面

,

]}

已經按照我們的配置進行了分詞

拓展使用熱更新 ik 分詞

目前該外掛程式支援熱更新 ik 分詞,通過上文在 ik 配置檔案中提到的如下配置

location

location

其中 location 是指乙個 url,比如 http://localhost:8080/myext.dic,該請求只需滿足以下兩點即可完成分詞熱更新。

該 http 請求需要返回兩個頭部(header),乙個是 last-modified,乙個是 etag,這兩者都是字串型別,只要有乙個發生變化,該外掛程式就會去抓取新的分詞進而更新詞庫。

該 http 請求返回的內容格式是一行乙個分詞,換行符用 \n 即可。

滿足上面兩點要求就可以實現熱更新分詞了,不需要重啟 es 例項。

可以將需自動更新的熱詞放在乙個 utf-8 編碼的 .txt 檔案裡,放在 nginx 或其他簡易 http server 下,當 .txt 檔案修改時,http server 會在客戶端請求該檔案時自動返回相應的 last-modified 和 etag。可以另外做乙個工具來從業務系統提取相關詞彙,並更新這個 .txt 檔案。

對比es也有自己自帶的預設分詞器standard,我們可以將es自帶的分詞器進行對比

同樣使用test索引,分別使用es自帶的分詞器和ik提供的分詞器

es預設的分詞器standard會將每乙個漢字分成乙個詞條

通過分析可以看出,

參考鏈結

elasticsearch中文分詞

首先來一篇大神的文章 這篇文章已經介紹的比較清楚了,我看完之後還是有一些小小的疑惑。首先總結一下實現中文分詞關鍵點 在elasticsearch的配置檔案elasticsearch.yml中配置預設的分詞器 index.analysis.analyzer.default.type ik 如果配置檔案...

Elasticsearch 使用中文分詞

本文演示了如何使用ik analysis 外掛程式來實現在 elasticsearch 中的中文分詞功能。在 spring boot應用企業級部落格系統 課程中 所有的部落格功能都已經完成了。讀者朋友們開始愉快地使用部落格來發表部落格了。但如果朋友們足夠細心的話,發現在輸入中文的標籤的時候,存在一定...

Mac安裝elasticsearch中文分詞器

tagline you know,for search 宣告 我的es版本是6.8.1 找到對應es的版本 找到es的plugins目錄 mv 當前檔案路徑 移動檔案目錄 mv downloads elasticsearch analysis ik 6.8.zip usr local var ela...