乐趣区

关于elasticsearch:ElasticSearch-IK-分词器快速上手

简介:ElasticSearch IK 分词器疾速上手

一、装置 IK 分词器

1. 调配伪终端

我的 ElasticSearch 是应用 Docker 装置的, 所以先给容器调配一个伪终端. 之后就能够像登录服务器一样间接操作 docker 中的内容了
docker exec -it 容器 ID /bin/bash

2. 应用 elasticsearch-plugin 装置插件

cd plugins 进入到 plugins 文件夹
执行如下命令,7.12.0 须要批改成你的 es 版本号

../bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip

3. 重启 elasticsearch 容器

docker restart 容器 ID

4. 常见问题

(1)java.lang.IllegalStateException

执行 elasticsearch-plugin install 的时候, 呈现了 Failed installing 和 java.lang.IllegalStateException

查看了一下, 我的 plugins/ 目录下曾经有一个名为 ik 的文件夹了.
抱着试试的心态, 删掉了这个名为 ik 的文件夹, 从新执行

../bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip

装置胜利

二、ik 分词原理

(占位,等有工夫读源码再来补充)

三、ik_smart 和 ik_max_word

GET _analyze?pretty
{
  "analyzer": "ik_smart",
  "text": "不像我, 只会疼爱鸽鸽"
}

GET _analyze?pretty
{
  "analyzer": "ik_max_word",
  "text": "不像我, 只会疼爱鸽鸽"
}

论断

  • _analyzer 构建索引时候的分词, 索引的时候应用 max_word
  • search_analyzer 搜寻时的分词, 查问的时候应用 smart

原文链接
本文为阿里云原创内容,未经容许不得转载。

退出移动版