ElasticSearch安装IK分词插件以及自定义分词

一、ES安装IK分词插件

  • 基于docker容器的方式启动ES实例
    启动脚本如下:
docker run -d -p9200:9200 -p9300:9300 -e "discovery.type=single-node" -v /opt/docker/es/plugins:/usr/share/elasticsearch/plugins/ -e ES_JAVA_OPTS="-Xms120m -Xmx120m" --name es01 elasticsearch:7.7.0

将容器的/usr/share/elasticsearch/plugins/目录挂载到虚拟机的/opt/docker/es/plugins目录。

  • 根据ES的版本下载对应的IK分词器
    IK分词器github地址
    解压后上传到虚拟机的/opt/docker/es/plugins目录

在这里插入图片描述

chomd -R 777 ik #修改一些ik文件夹对应的权限

由于是具名挂载的,此时容器中的plugins目录也有了ik文件夹

  • 重启ES实例
docker restart 容器ID
  • 测试
  1. it_max_word测试
    在这里插入图片描述
  2. ik_smart
    在这里插入图片描述

二、ES使用自定义词库

有些网络流行新词,ES并不能准确识别例如下面的测试,如果是人为分词,最想要分为乔碧罗、电商、带货,这么三个词,此时就需要用自定义词库。
在这里插入图片描述

  • 启动一个nginx实例,将/etc/nginx下的配置挂载到容器外部
docker container cp nginx:/etc/nginx .
  • 关闭刚才启动的nginx,再次启动一个nginx实例,将配置挂载到刚才的目录
docker run -d -p 6000:80 --name nginx -v /opt/docker/nginx/html:/usr/share/nginx/html -v /opt/docker/nginx/logs:/var/log/nginx -v /opt/docker/nginx/conf:/etc/nginx nginx
  • 进入/opt/docker/nginx/html目录,创建words目录,创建words.txt文件,输入要分词的内容

在这里插入图片描述

  • 本机测试
    在这里插入图片描述

  • 修改es外部挂载的plugins目录下的IK分词配置
    在这里插入图片描述
    在这里插入图片描述

  • 重启容器再次测试 docker restart 容器ID

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值