ElasticSearch IK 分词器快速上手

Posted 阿里云云栖号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 installingjava.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

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

以上是关于ElasticSearch IK 分词器快速上手的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch 用ik分词器建立索引(java API)

elasticsearch 拼音+ik分词,spring data elasticsearch 拼音分词

ElasticSearch-ik分词器

Elasticsearch 分布式搜索引擎 -- 安装IK分词器ik分词器-拓展词库 / 停用词库

ElasticSearch的中文分词器ik

elasticsearch ik分词器安装