【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插件的源码中

相关推荐
Elastic 中国社区官方博客3 小时前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
大数据·运维·分布式·elasticsearch·搜索引擎·信息可视化·全文检索
Elastic 中国社区官方博客7 小时前
JINA AI 与 Elasticsearch 的集成
大数据·人工智能·elasticsearch·搜索引擎·全文检索·jina
tebukaopu1489 小时前
es searchSourceBuilder.trackTotalHits(true);的作用
大数据·elasticsearch·搜索引擎
single-life11 小时前
Linux 下 部署es+nebula(附带内网部署方式)
linux·运维·elasticsearch·nebula
一个向上的运维者12 小时前
实战解析|EFK 日志系统数据同步问题全解(附核心配置模板)
elasticsearch·云原生
cicada1513 小时前
分享一个git日常开发流程
大数据·git·elasticsearch
_oP_i14 小时前
Windows 下往 Elasticsearch 添加数据
大数据·windows·elasticsearch
咕叽咕叽的汪14 小时前
Es/Kibana7.17.9中数据迁移到openSearch3.4.0【DockerDesktop模拟】
运维·spring boot·elasticsearch·docker·容器·devops
萧曵 丶14 小时前
Elasticsearch 高频面试题(高级 Java 开发版)
java·elasticsearch
SpaceAIGlobal15 小时前
基于 Elasticsearch 实现排序沉底与前置的方法解析
大数据·elasticsearch·搜索引擎