谷粒商城实战笔记-122~124-全文检索-ElasticSearch-分词
创始人
2024-11-06 02:34:01
0

文章目录

  • 一,122-全文检索-ElasticSearch-分词-分词&安装ik分词
  • 二,124-全文检索-ElasticSearch-分词-自定义扩展词库
    • 1,创建nginx容器
      • 1.1 创建nginx文件夹
      • 1.2 创建nginx容器获取nginx配置
      • 1.3 复制nginx容器配置文件
      • 1.4 删除临时的nginx容器
      • 1.5 创建新的nginx容器
    • 2,配置扩展词库
      • 2.1 elasticsearch配置扩展词库
      • 2.2 nginx新建词库文件
      • 2.3 重启容器
    • 3,测试扩展词库效果

一,122-全文检索-ElasticSearch-分词-分词&安装ik分词

Elasticsearch 使用的中文分词器IK Analyzer(简称IK)是一个非常流行的中文分词器插件。

  1. 安装IK分词器插件

    首先,需要下载与你的 Elasticsearch 版本相匹配的 IK 分词器插件。
    进入elasticsearch的docker容器:

    docker exec -it elasticsearch /bin/bash 

    执行命令安装:

    bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.13.0 

    查看安装结果:

    bin/elasticsearch-plugin list 

在这里插入图片描述

  1. 重启Elasticsearch
    安装插件后,需要重启 Elasticsearch 服务以使插件生效。

    docker restart elasticsearch 
  2. 测试IK分词器

为了对比效果,先使用标准的standard分词器,这个分词器是针对英文的。

POST _analyze {   "analyzer": "standard",   "text": "尚硅谷谷粒商城" } 

对于中文,standard分词器的效果非常不理想,其把中文拆分为单个汉字。

在这里插入图片描述

使用中文ik分词器。

POST _analyze {   "analyzer": "ik_smart",   "text": "尚硅谷谷粒商城" } 

结果如下,处理中文时,IK分词器比standard要强大的多。
在这里插入图片描述
当然,这个分词器也有改进的空间,比方说,上面例子中,分词器不能正确的把尚硅谷识别为一个词,这就需要配合专门的词库来进行优化了。

二,124-全文检索-ElasticSearch-分词-自定义扩展词库

1,创建nginx容器

因为我们要把词库放在nginx作为elasticsearch的扩展词库,所以首先要安装nginx。

1.1 创建nginx文件夹

在/mydata下创建nginx文件夹。

cd /mydata mkdir nginx 

1.2 创建nginx容器获取nginx配置

注意,这个nginx容器不是最终我们需要的nginx容器,仅仅是为了获取nginx配置文件的模板而创建的。

docker run -p 80:80 --name nginx  -d nginx:1.10 

执行这个命令时,虽然我们没有提前下载镜像,docker会自动检测,若没有镜像,会先下载镜像。

1.3 复制nginx容器配置文件

复制nginx容器配置文件到前面创建的文件夹/mydata/下。

docker container cp nginx:/etc/nginx . 

之后在nginx目录下,可以看到如下结构。

在这里插入图片描述

1.4 删除临时的nginx容器

执行下面命令,先停止nginx容器,后删除容器。

docker stop nginx docker rm nginx 

1.5 创建新的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/nginx.conf:/etc/nginx/nginx.conf \ -v /mydata/nginx/conf.d:/etc/nginx/conf.d \ -d nginx 

2,配置扩展词库

2.1 elasticsearch配置扩展词库

进入elasticsearch容器。

docker exec -it elasticsearch /bin/bash 

/usr/share/elasticsearch/config/analysis-ik中的 IKAnalyzer.cfg.xml配置nginx中的扩展词库。

   	IK Analyzer 扩展配置 	 	 	 	 	 	http://192.168.128.130/fenci/myword.txt 	 	  

2.2 nginx新建词库文件

在nginx的挂载目录html目录下,新建es目录,es目录下,新建fenci.txt文件,文件中输入词语:

尚硅谷 乔碧萝 

2.3 重启容器

重启elasticsearch容器和nginx容器。

docker restart elasticsearch docker restart nginx 

3,测试扩展词库效果

POST _analyze {   "analyzer": "ik_max_word",   "text": "尚硅谷谷粒商城" }   

结果显示,IK分词器能基于扩展词库,将尚硅谷识别为一个词。

在这里插入图片描述

相关内容

热门资讯

九分钟辅助挂!德扑之星为什么不... 九分钟辅助挂!德扑之星为什么不发牌,wpk提高胜率(原来真的有挂)1、wpk提高胜率系统规律教程、w...
wepoke真的有挂!WPK辅... wepoke真的有挂!WPK辅助,来玩app德州安卓有用吗,玩家教程(原来真的有挂)所有人都在同一条...
四分钟攻略!微扑克系统发牌规律... 您好,微扑克系统发牌规律这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家...
4分钟透视辅助!云扑克辅助器,... 4分钟透视辅助!云扑克辅助器,wpk发牌逻辑(原来真的有挂)1、在wpk发牌逻辑ai机器人技巧中,中...
3分钟技巧!微扑克大厅都是机器... 3分钟技巧!微扑克大厅都是机器人,WPK原来真的有挂(微扑克全自动机器人器安装);科技详细教程小薇《...
aapoker透明挂!德扑ai... aapoker透明挂!德扑ai透视,微扑克透明挂,玩家教你(原来真的有挂)是一款可以让一直输的玩家,...
6分钟教学!拱趴大菠萝切牌规律... 6分钟教学!拱趴大菠萝切牌规律,AApoker原来真的有挂(aapoker外挂插件)1、构建自己的拱...
九分钟辅助挂!wepoke德州... 九分钟辅助挂!wepoke德州扑克,德州之星外挂(原来真的有挂)1、德州之星外挂透视辅助简单,德州之...
6分钟秘籍!哈糖大菠萝切牌规律... 6分钟秘籍!哈糖大菠萝切牌规律,微扑克其实真的有挂(aapoker俱乐部插件)哈糖大菠萝切牌规律辅助...
微扑克有辅助挂!WePoKe透... 微扑克有辅助挂!WePoKe透视辅助,德州专用扑克高科技,第三方教程(原来真的有挂)1、微扑克有辅助...