天天看點

elasticsearch 中文分詞器 elasticsearch-analysis-ik

一、IK分詞器安裝

1、下載下傳位址:https://github.com/medcl/elasticsearch-analysis-ik/releases ,選擇和elasticsearch對應的版本elasticsearch-analysis-ik-5.4.0.zip,下載下傳并解壓。

2、在 elasticsearch-5.4.0/plugins/ 目錄下建立名為 ik 的檔案夾,拷貝elasticsearch-analysis-ik-5.4.0目錄下所有的檔案到 elasticsearch-5.4.0/plugins/ik/ 目錄下,然後重新開機elasticsearch服務。

3、啟動沒有報錯,并且看到日志資訊提示加載了插件 analysis-ik 表示安裝成功。

elasticsearch 中文分詞器 elasticsearch-analysis-ik

二、擴充本地詞庫

1、測試 analysis-ik 分詞:

http://localhost:9200/_analyze?analyzer=ik_smart&text=洪荒之力
結果:
{
    "tokens": [
        {
            "token": "洪荒",
            "start_offset": 0,
            "end_offset": 2,
            "type": "CN_WORD",
            "position": 0
        },
        {
            "token": "之力",
            "start_offset": 2,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 1
        }
    ]
}           

我們可以看到預設的分詞器把“洪荒之力”分成了兩個詞,如果我們要讓分詞器把“洪荒之力”分成一個詞,我們可以設定本地字典。

2、在 elasticsearch-analysis-ik-5.4.0/config/custom/ 目錄下建立檔案 hotwords.dic(確定檔案的編碼方式為UTF-8,不然不生效), 在檔案中添加詞語“洪荒之力”,每行一個詞,然後在ik分詞器的配置檔案(elasticsearch-analysis-ik-5.4.0/config/IKAnalyzer.cfg.xml)中指定新增的詞庫位置。然後重新開機elasticsearch伺服器生效詞庫。

再測試:

http://localhost:9200/_analyze?analyzer=ik_smart&text=洪荒之力
結果:
{
    "tokens": [
        {
            "token": "洪荒之力",
            "start_offset": 0,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 0
        }
    ]
}           

繼續閱讀