ES 安装IK分词器

原有问题

默认按照逐个单词分词,而不是此词组

Dev Tools - Elastic

bash 复制代码
# 测试分词器
POST /_analyze
{
  "text": "To learn about how usage data helps us manage and improve our products and services, see our Privacy Statement(opens in a new tab or window). To stop collection, disable usage data here."
}

安装分词器

ES 环境搭建

参考:ES 基本操作 - 掘金 (juejin.cn)

控制台分别输入:

javascript 复制代码
docker run -d --name es -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -e "discovery.type=single-node"  -v es-data:/usr/share/elasticsearch/data -v es-plugins:/usr/share/elasticsearch/plugins  --privileged  --network es-net -p 9200:9200  -p 9300:9300 elasticsearch:8.8.2
arduino 复制代码
docker run -d --name kibana -e ELASTICSEARCH_HOSTS=http://es:9200 --network=es-net -p 5601:5601 kibana:8.8.2

IK下载地址

Releases · medcl/elasticsearch-analysis-ik · GitHub

IK安装

查看 es-plugins 地址 : docker volume inspect es-plugins

在win中地址可能不一样,位置可参考如下路径:

\\wsl$\docker-desktop-data\data\docker\volumes\es-plugins\_data

相关文档推荐:

Docker Desktop for Windows(WSL 2 方式)数据卷存放位置及如何访问_windiws上docker创建的数据库放在那里_4CTOR的博客-CSDN博客

将IK包放入es-plugin_data文件夹内,并改名为 ik

重启es :docker restart es

种类

  • ik_smart:粗粒分词,分出的词相对较少,但占用内存空间也较少
  • ik_max_word:最细切分,分出的词相对更细,但占用内存空间也更多

ES-IK分词器拓展和停用词典

IKAnalyzer.cfg.xml:扩展和通用词典文件所在位置配置

ext.dic:IKAnalyzer.cfg.xml中配置的扩展词典

stopword.dic:IKAnalyzer.cfg.xml中配置的停用词典

为什么要配置扩展词典和停用词典?

扩展词典:可能会有一些全新词IK分词器之前并没有加入到词典中,这时候就需要我们配置一些新出现的词,IK分词器才能在分词的时候把他们当做一个词来看待。如:绝绝子,鲲鲲等

停用词典:敏感词屏蔽

自定义词典

更多

Elasticsearch 英文分词 & 中文分词 - 知乎 (zhihu.com)

相关推荐
Livingbody1 小时前
Fast Whisper 语音转文本
后端
程序员岳焱1 小时前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
G探险者1 小时前
《深入理解 Nacos 集群与 Raft 协议》系列五:为什么集群未过半,系统就不可用?从 Raft 的投票机制说起
分布式·后端
G探险者1 小时前
《深入理解 Nacos 集群与 Raft 协议》系列一:为什么 Nacos 集群必须过半节点存活?从 Raft 协议说起
分布式·后端
G探险者1 小时前
《深入理解 Nacos 集群与 Raft 协议》系列四:日志复制机制:Raft 如何确保提交可靠且幂等
分布式·后端
G探险者1 小时前
《深入理解 Nacos 集群与 Raft 协议》系列三:日志对比机制:Raft 如何防止数据丢失与错误选主
分布式·后端
G探险者1 小时前
《深入理解 Nacos 集群与 Raft 协议》系列二:Raft 为什么要“选主”?选主的触发条件与机制详解
分布式·后端
我的golang之路果然有问题1 小时前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
Java水解1 小时前
彻底解决Flask日志重复打印问题:从原理到实践
后端·flask
Nick同学1 小时前
GatewayWorker 使用总结
后端·php