【ES】--ES集成热更新自定义词库(字典)

目录

一、问题描述

问题现象 :

前面完成了自定义分词器词库集成到ES中。在实际项目中词库是时刻在变更的,但又不希望重启ES,对此我们应该如何解决?
解决方案 :

针对上面的问题,可以采用**"自定义热更新词库"方案:使用Tomcat来实现热更新**。

二、具体实施

1、Tomcat实现远程扩展字典

Win10下安装部署Tomcat,在**\webapps\ROOT路径下,创建一个hotDict.dic文件。文件内容就是自定义的词库,如下:

启动\bin下的startup.bat

到此,浏览器输入http://localhost:8080/hotDict.dic。有数据表明正常启动。

【说明:即使手动更新hotDict.dic文件内容,也不需要重启Tomcat!】

2、验证生效

knowledge_customize.link_info.value设置了"analyzer": "ik_max_word"。

这里先输入"追梦少年",ik分词器分词效果是

把"追命少年"加入hotDict.dic文件中,不需要重启Tomcat和ES,等待一分钟左右时间。

最新的效果是

3、ES配置远程扩展字典

打开**\plugins\ik\config路径下IKAnalyzer.cfg.xml文件

重启ES,会加载这些自定义字典。

4、为何不重启ES能实现热更新

Es-ik插件的源码中

相关推荐
Elasticsearch10 小时前
过犹不及:为什么搜索结果重排序时,20 个候选结果胜过 200 个
elasticsearch
wno70410 小时前
常用的Git命令清单
大数据·git·elasticsearch
YIN_尹1 天前
【git原理与使用】git基本操作及底层原理(二)
大数据·git·elasticsearch
Elasticsearch1 天前
从结账告警到故障跨度:使用 Elastic 人工智能 agent 和 Elastic 应用性能监控浮出面板开展调查
elasticsearch
Elasticsearch1 天前
认识全新的 Elastic 数据流:面向遥测数据的托管数据管道
elasticsearch
Elasticsearch1 天前
使用 SpiceDB 为 Elasticsearch 检索增强生成实现细粒度授权
elasticsearch
新*1 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
新*2 天前
Elasticsearch 7.17 的 SQL 到底能查到什么?一次踩坑记录
后端·sql·elasticsearch·查询
Elastic 中国社区官方博客3 天前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
Elasticsearch3 天前
Kibana 中的人工智能连接器:你的 agent 可调用的 90 多个数据源
elasticsearch