一、el默认分词器
es在创建倒排索引时需要对文档分词,在搜索时,需要对用户输入内容分词。但默认的分词规则对中文处理并不友好,在kibana的DevTools中测试
二、IK分词器
处理中文分词,一般会使用IK分词器。
GitHub官方网址:https://github.com/medcl/elasticsearch-analysis-ik
三、安装IK分词器
3.1 安装ik插件(在线安装)
# 进入容器内部
docker exec -it elasticsearch /bin/bash
#在线下载并安装
./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 elasticsearch
3.2 安装ik插件(离线安装)
1)查看数据卷目录
安装插件需要知道elasticsearch的plugins目录位置,通过下面命令查看elasticsearch的数据卷目录:
docker volume inspect es-pIugins
结果
说明plugins目录被挂载到了/var/lib/docker/volumes/es-plugins/_data这个目录
2)解压缩分词器安装包
下面我们需要把课前资料中ik人词器解压缩,重命名为ik
3)上传到es容器的插件数据卷中
地址路径 /var/1ib/docker/volumes/es-plugins/_data
4)重启容器
# 重启容器
docker restart es
# 查看es日志docker logs -f es
5)IK的使用
IK分词器包含两种模式:
- ik_smart:最少切分
- ik_max_word:最细切分