首頁常見問題正文

如何在Docker環(huán)境下配置Es自定義分詞器(ik)?

更新時間:2023-03-02 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  在 Docker 環(huán)境下配置 Elasticsearch 自定義分詞器(IK),我們可以嘗試通過以下步驟進(jìn)行:

  1.獲取 Elasticsearch 鏡像并運(yùn)行容器

  首先,需要從 Docker Hub 上獲取 Elasticsearch 鏡像,可以使用以下命令:

docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2

  然后,在本地運(yùn)行 Elasticsearch 容器,可以使用以下命令:

docker run -d -p 9200:9200 -p 9300:9300 --name elasticsearch docker.elastic.co/elasticsearch/elasticsearch:7.10.2

  該命令將在后臺運(yùn)行 Elasticsearch 容器,并將容器的 9200 端口和 9300 端口映射到本地的 9200 端口和 9300 端口。

  2.安裝 IK 分詞器插件

  IK 分詞器是 Elasticsearch 的一個插件,需要單獨(dú)安裝。可以使用以下命令在 Elasticsearch 容器中安裝 IK 分詞器:

docker exec -it elasticsearch /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip

  3.配置分詞器

  安裝完成后,需要在 Elasticsearch 的配置文件中配置 IK 分詞器。可以使用以下命令編輯 Elasticsearch 的配置文件:

docker exec -it elasticsearch /bin/bash
vi config/elasticsearch.yml

  然后,在配置文件中添加以下內(nèi)容:

index:
  analysis:
    analyzer:
      ik_max_word:
        type: custom
        tokenizer: ik_max_word
    tokenizer:
      ik_max_word:
        type: ik_max_word

  以上配置會創(chuàng)建一個名為 ik_max_word 的自定義分詞器,使用 IK 最大化分詞算法??梢愿鶕?jù)需要進(jìn)行修改。

  4.重啟 Elasticsearch

  完成以上步驟后,需要重啟 Elasticsearch 容器,以使新的配置生效??梢允褂靡韵旅钪貑⑷萜鳎?br/>

docker restart elasticsearch

  5.使用自定義分詞器

  現(xiàn)在可以在 Elasticsearch 中使用剛剛創(chuàng)建的自定義分詞器了??梢栽趧?chuàng)建索引時指定使用 ik_max_word 分詞器,例如:

PUT my_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "my_analyzer": {
          "type": "custom",
          "tokenizer": "ik_max_word"
        }
      }
    }
  }
}

  以上命令將創(chuàng)建一個名為 my_index 的索引,并使用自定義分詞器 ik_max_word??梢愿鶕?jù)需要進(jìn)行修改。

分享到:
在線咨詢 我要報名
和我們在線交談!