1. 程式人生 > >elasticsearch 中文分詞器 elasticsearch-analysis-ik

elasticsearch 中文分詞器 elasticsearch-analysis-ik

一、IK分詞器安裝

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

3、啟動沒有報錯,並且看到日誌資訊提示載入了外掛 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
        }
    ]
}