1.Docker安装
docker run -d --name es7 -e ES_JAVA_POTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -v /opt/es7/data/:/usr/share/elasticsearch/data -p 9200:9200 -p 9300:9300 elasticsearch:7.14.0
2.客户端UI工具,Edge浏览器扩展
3.分词器安装
3.1为什么要安装分词器?
在 Elasticsearch 的 IK Analyzer 中,ik_smart和 ik_max_word 是IK 分词器针对中文分词提供的两种策略,但分词效果和粒度不同:
ik_smart: 这种模式更侧重于保持语义完整性,尽量进行较少的、更有意义的拆分,减少无意义的子词组合,提高搜索准确率,降低误报率。
示例:“中华人民共和国人民大会堂” 分词结果(ik_smart)可能只有:“中华人民共和国”、“人民大会堂”等较完整、更具实际意义的词语组合。
ik_max_word: 此模式致力于最大化地拆分文本,即尽可能多地生成可能的词语组合,包括单字、双字直至整个短语。它的特点是尽力穷举所有可能的词汇,提高召回率,但在某些情况下可能会造成噪声较多。
示例:“中华人民共和国人民大会堂” 分词结果(ik_max_word)可能包括:中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等。
简单来说,
ik_max_word
更倾向于全面细致的分词,而ik_smart
则偏向于精简和精准的分词。在实际应用场景中,选择哪种模式取决于项目的具体需求,如是否需要扩大搜索覆盖面还是提高搜索准确性。
3.2安装
参考网址:https://blog.51cto.com/u_15116285/6100979
官方插件下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases
#第一步 copy 插件到容器docker cp /opt/es7/elasticsearch-analysis-ik-7.14.0.zip 容器id:/usr/share/elasticsearch
#第二步进入你的容器docker exec -it 容器id /bin/bash
#第三步执行如下命令,安装插件,中间会提示 Y or N,直接写 Y ,回车即可elasticsearch-plugin install file:\/usr/share/elasticsearch/elasticsearch-analysis-ik-7.14.0.zip
#第四步退出容器exit
#第五步重启容器docker restart 容器ID
4.使用客户端查看
ik_smart | ik_max_word |
post _analyze { "analyzer": "ik_smart", "text": "大学生自习室视频爆火鼻祖" } | post _analyze { "analyzer": "ik_max_word", "text": "大学生自习室视频爆火鼻祖" } |
5.原理
注意:
如果在启动容器时发生了权限不足异常??
解决:将挂载的data文件夹的权限提升到最大权限777,命令如下:
//进入到 data上一级目录中
chmod 777 data