ElasticSearch IK 分词器快速上手

网络
我的 ElasticSearch 是使用 Docker 安装的,所以先给容器分配一个伪终端.之后就可以像登录服务器一样直接操作docker 中的内容。

一、安装 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

责任编辑:梁菲 来源: 阿里云云栖号
相关推荐

2024-08-02 11:00:00

分词器搜索查询

2021-04-12 08:17:12

ElasticSear分词中文

2023-06-13 08:00:57

ChatGPT语言模型

2024-03-26 00:00:01

2020-11-17 08:43:20

ElasticSear

2016-09-18 23:56:51

Java开源中文分词器

2012-03-16 10:07:30

IK AnalyzerJava

2017-05-04 10:11:51

ElasticsearJavaAnalyzeRequ

2011-07-26 13:58:17

LINQ

2022-08-21 07:17:16

LinkerdKubernetes服务网格

2022-08-19 07:13:45

SQL方法编程

2021-12-10 08:13:02

MatplotlibpythonAPI

2013-11-19 12:53:33

OA信息化

2024-11-19 09:15:40

搜索类型MySQL

2024-09-04 15:12:35

2024-02-22 09:51:56

代码AI

2024-02-26 00:40:00

AIGPT

2011-07-25 15:42:58

XML

2024-01-29 00:36:50

Backstage设施工具

2017-07-05 17:50:52

KotlinJava程序员
点赞
收藏

51CTO技术栈公众号