简介: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
原文链接
本文为阿里云原创内容,未经容许不得转载。