背景介绍

1024 程序员节,祝各位大佬节日快乐! 接上篇,安装好 Elasticsearch 和 kibana 就可以进行 Es 操作。 背景 Elasticsearch 在创建倒排索引时,需要对文档进行分词;在搜索时对用户的输入内容进行分词,但默认的分词效果不好,可以安装IK分词来处理。

一、IK 分词器安装

主要有两种方式:在线安装和离线安装

1、在线安装

第一步、进入容器内部

// 进入容器内部
docker exec -it es /bin/bash

第二步、下载安装 将 分词器安装到 plugin 文件下,注意版本要一致,这里统一为 7.12.1

// 在线安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

第三步、退出并启动

// 退出
exit
// 重启
docker restart es
2、离线安装

第一步、查询数据卷目录 插件安装需要获取 Elasticsearch 的plugins 目录的挂载位置。

// 输入数据卷
docker volume inspect es-plugins

在这里插入图片描述 第二步、上传 安装包到 指定位置 下载 elasticsearch-analysis-ik-7.12.1.zip 放到 第一步查询目录下,进行挂载,注意这里的版本选择的是 7.12.1

第三步、重启容器

// 重启
docker restart es
// 查看日志
docker logs -f es

查看运行日志,如下图所示。 在这里插入图片描述

三、验证

IK 分词主要有两种模式 ik_smart ==最少切分 粗粒度切分 智能切分== ik_max_word ==最细切分 最新粒度切分== 举例如下:

POST /_analyze
{
  "text":"1024程序员节",
  "analyzer":"ik_max_word"
}

ik_smart 粗粒度分词,只展示出 程序员 在这里插入图片描述 ik_max_word 细粒度分词,展示出 程序员、程序、员 在这里插入图片描述

四、分词设置

对于默认的分词库可以进行扩展或者停用。 配置文件位置:IK分词器安装目录下 config 配置文件下IKAnalyzer.cfg

<!--配置远程扩展字典 -->
<entry key="remote_ext_dict">ext.dic</entry>
 <!--配置远程扩展停止词字典-->
<entry key="remote_ext_stopwords">stopword.dic</entry>

在 config 下新建 扩展文件 ext.dic 和 停止扩展词文件 stopword.dic,分别添加相应的内容即可!

参考博客

【1】https://blog.csdn.net/u012211603/article/details/90757253