ElasticSearch 分词

ElasticSearch 分词

上文说到ElasticSearch 映射的学习,本文简单学习分词

Text Analysis

https://www.elastic.co/guide/en/elasticsearch/reference/7.6/analysis.html#analysis

分词器会将字符流分为多个词语 以便检索

POST _analyze
{
  "analyzer": "standard",
  "text": "the shy rookie jeacklove ning baolan"
}

在这里插入图片描述

安装ik分词器

ES中没有中文的分词器

在这里插入图片描述

所以需要在ES中安装插件 IK分词器

因为ES容器挂载到了服务器中的/mydata/elasticsearch/plugins下,所以只需要在该目录下安装ik分词器就可以了

进入后下载 ik 分词器 并解压到ik文件夹

mkdir ik

cd ik

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.13.2/elasticsearch-analysis-ik-7.13.2.zip

unzip elasticsearch-analysis-ik-7.13.2.zip -d ik

rm -rf  elasticsearch-analysis-ik-7.4.2.zip 

chmod 777 -R ./ik

docker start elasticsearch

#进入容器
docker exec -it elasticsearch /bin/bash
 
#在bin目录中执行  elasticsearch-plugin list
cd bin
 
#显示安装的插件 出现ik 说明成功
elasticsearch-plugin list

ik分词器有2个常用的分词器ik_smartik_max_word

在这里插入图片描述

在这里插入图片描述

自定义扩展词库

如果ik词库中没有把我们想要的词进行分词,可以自定义扩展ik分词器的词库

把词库写到nginx上,让ik去访问nginx服务器的词库资源加载词库

创建并启动nginx容器

docker pull nginx:1.10
# 随便启动一个nginx实例,只是为了复制出配置,放到docker里作为镜像的统一配置
docker run -p 80:80 --name nginx -d nginx:1.10

cd /mydata/nginx
docker container cp nginx:/etc/nginx .
然后在外部 /mydata/nginx/nginx 有了一堆文件
mv /mydata/nginx/nginx /mydata/nginx/conf
# 停掉nginx
docker stop nginx
docker rm nginx

# 创建新的nginx
docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10

# 注意一下这个路径映射到了/usr/share/nginx/html,我们在nginx配置文件中是写/usr/share/nginx/html,不是写/mydata/nginx/html

docker update nginx --restart=always

nginx访问路径默认在html目录下,在html目录下创建es目录,在es目录下创建词库资源

在这里插入图片描述

我的nginx设置端口为81 (不管乱码)

在这里插入图片描述

修改/mydata/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

在这里插入图片描述

重启es容器

未配置远程扩展词库字典时

配置远程扩展词库字典后

在这里插入图片描述

下篇文章将简单介绍项目整合ElasticSearch

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值