【ES】--ES集成热更新自定义词库(字典)
目录
- 一、问题描述
- 二、具体实施
- 1、Tomcat实现远程扩展字典
- 2、验证生效
- 3、ES配置远程扩展字典
- 4、为何不重启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插件的源码中

相关文章:
【ES】--ES集成热更新自定义词库(字典)
目录 一、问题描述二、具体实施1、Tomcat实现远程扩展字典2、验证生效3、ES配置远程扩展字典4、为何不重启ES能实现热更新 一、问题描述 问题现象: 前面完成了自定义分词器词库集成到ES中。在实际项目中词库是时刻在变更的,但又不希望重启ES,对此我们应…...
能源管理师——为能源可持续发展护航
能源管理师是在能源管理领域具有专业知识和技能的专业人士,他们的工作对于实现能源的有效利用和可持续发展至关重要。 能源管理师的主要职责是协助企业或组织进行能源管理,包括能源规划、能源审计、节能措施的实施和能源绩效的评估等。他们通过对能源使…...
设计模式理解:单例模式+工厂模式+建设者模式+原型模式
迪米特法则:Law of Demeter, LoD, 最少知识原则LKP 如果两个软件实体无须直接通信,那么就不应当发生直接的相互调用,可以通过第三方转发该调用。其目的是降低类之间的耦合度,提高模块的相对独立性。 所以,在运用迪米特…...
DataX源码分析 writer
系列文章目录 一、DataX详解和架构介绍 二、DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 文章目录 系列文章目录前言DataX的Writer写入流…...
为自己的项目媒体资源添加固定高度
为自己的项目媒体资源添加固定高度 未媒体资源添加固定高度,不仅有利于确定懒加载后的切确位置,还可以做骨架屏、loading动画等等,但是因为历史数据中很多没有加高度的媒体资源,所以一直嫌麻烦没有做。 直到这个季度有一个自上而…...
家政小程序系统源码开发:引领智能生活新篇章
随着科技的飞速发展,小程序作为一种便捷的应用形态,已经深入到我们生活的方方面面。尤其在家庭服务领域,家政小程序的出现为人们带来了前所未有的便利。它不仅简化了家政服务的流程,提升了服务质量,还为家政服务行业注…...
多表查询
目录 统计出一张数据表中的数据量 查询 dept 表中的数据量 查询 emp 表中的数据量 实现 emp 与 dept 的多表查询 笛卡尔积 消除笛卡尔积 把数据表 emp 的别名定为 e,数据表 dept 的别名定为 d,然后在查询中分别使用 e 和 d 代替这两个表 Oracle从…...
PHP开发日志 ━━ 深入理解三元操作与一般条件语句的不同
概况 三元运算符的功能与“if…else”流程语句一致。 在一般情况下,三元操作替换if条件语句可以精简代码,并且更为直观,但是在下面的情况中使用三元操作将会返回警告。 借图: 案例 比如原代码: class classA{publ…...
多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测
多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测 目录 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预…...
vue3-内置组件-Suspense
Suspense (实验性功能) <Suspense> 是一项实验性功能。它不一定会最终成为稳定功能,并且在稳定之前相关 API 也可能会发生变化。 <Suspense> 是一个内置组件,用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌…...
Rust入门:如何在windows + vscode中关闭程序codelldb.exe
在windows中用vscode单步调试rust程序的时候,发现无论是按下stop键,还是运行完程序,调试器codelldb.exe一直霸占着主程序不退出,如果此时对代码进行修改,后续就没法再编译调试了。 目前我也不知道要怎么处理这个事&am…...
git错误整理
remote: Support for password authentication was removed on August 13, 2021. 参考:这篇即可 GnuTLS recv error (-110): The TLS connection was non-properly terminated. 执行下面的指令: git config --global http.sslVerify false...
跟着cherno手搓游戏引擎【22】CameraController、Resize
前置: YOTO.h: #pragma once//用于YOTO APP#include "YOTO/Application.h" #include"YOTO/Layer.h" #include "YOTO/Log.h"#include"YOTO/Core/Timestep.h"#include"YOTO/Input.h" #include"YOTO/KeyCod…...
微信小程序(四十二)wechat-http拦截器
注释很详细,直接上代码 上一篇 新增内容: 1.wechat-http请求的封装 2.wechat-http请求的拦截器的用法演示 源码: utils/http.js import http from "wechat-http"//设置全局默认请求地址 http.baseURL "https://live-api.ith…...
tomcat部署zrlog
1.下载zrlog包,并添加到虚拟机中 1)进入/opt/apache-tomcat-8.5.90/webapps目录 cd /opt/apache-tomcat-8.5.90/webapps2)下载zrlog包 wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war 3)重命名包 mv zrlog-1.7.1-baaecb9-release zrblog 2…...
Ubuntu Desktop 开机数字小键盘
Ubuntu Desktop 开机数字小键盘 1. 开机数字小键盘References 1. 开机数字小键盘 一般情况下,Ubuntu 开机后小键盘区是控制方向键而非数字键,每次开机后若用到数字键都需要按下 NumLock 键。 References [1] Yongqiang Cheng, https://yongqiang.blog…...
树莓派编程基础与硬件控制
1.编程语言 Python 是一种泛用型的编程语言,可以用于大量场景的程序开发中。根据基于谷歌搜 索指数的 PYPL(程序语言流行指数)统计,Python 是 2019 年 2 月全球范围内最为流行 的编程语言 相比传统的 C、Java 等编程语言&#x…...
autojs通过正则表达式获取带有数字的text内容
视频连接 视频连接 参考 参考 var ctextMatches(/\d/).findOne()console.log("当前金币"c.text()) // 获取当前金币UiSelector.textMatches(reg) reg {string} | {Regex} 要满足的正则表达式。 为当前选择器附加控件"text需要满足正则表达式reg"的条件。 …...
Android java基础_类的继承
一.Android Java基础_类的继承 先封装一个persion类,在persion的基础上定义Student类,并基础persion类。 子类能访问父类的成员函数。 class Person {private int age;public void setAge(int age) {if (age < 0 || age > 200)age 0;else {thi…...
nginx stream proxy 模块的ssl连接源码分析
目录 1. 源起2. 分析验证环境的配置3. 源码分析3.1 代理模块的请求入口点分析3.2 发起与上游服务器的连接3.3 连接回调3.4 TCP连接建立成功后为上下游数据透传做准备3.5 TCP连接的ssl上下文初始化3.6 ssl握手成功后的处理3.7 连接数据的收与发1. 源起 我一直来对ssl建立连接的过…...
安全视角:AI Agent Harness Engineering 权限控制体系
安全视角:AI Agent Harness Engineering 权限控制体系 本文作者:资深云原生安全工程师、AI Agent落地技术专家,累计帮助12家企业完成AI Agent安全体系搭建,避免了超过5000万的潜在安全损失 一、引言 (Introduction) 钩子 (The Hook) 你是否见过这样的场景:公司花了上百万…...
RuoYi-Cloud项目导入避坑指南:从Maven配置到依赖下载的完整流程(附常见错误解决)
RuoYi-Cloud项目导入避坑指南:从Maven配置到依赖下载的完整流程 1. 项目准备与环境检查 在开始导入RuoYi-Cloud项目之前,确保你的开发环境已经准备就绪。这个微服务架构项目基于Spring Cloud Alibaba体系,对开发环境有特定要求: 基…...
终极指南:如何快速上手B站视频转文字工具,解放你的双手
终极指南:如何快速上手B站视频转文字工具,解放你的双手 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 还在为整理B站视频内容而头疼吗…...
考前终极口诀合集,30秒过一遍
考前最后冲刺,别再翻教材了!把所有核心口诀集中在一起,科科过软考培训对系统集成项目管理工程师考前冲刺从头到尾过一遍,30秒搞定,能掌握不少必会知识点。一、挣值与关键路径——计算题的铁口诀挣值分析口诀࿱…...
金融机构 一般采用是机械硬盘还是固态硬盘
金融机构现在普遍采用的是以固态硬盘(SSD)为主、机械硬盘(HDD)为辅的混合架构。可以说,一个全面向全闪存(全SSD) 演进的趋势正在所有主流银行和券商中发生。可以看一个非常直观的例子࿱…...
Day1 搭建环境+理解编译过程+helloworld
一、为什么要学 C 性能强悍 1. 手动内存管理 C 允许开发者精确控制内存的分配与释放时机。(Java、Python 等语言依赖垃圾回收机制(GC)自动管理内存,但 GC 的触发时机不可预测,带来的程序的短暂停顿在游戏、机器人控制…...
集团化全员学习企业在线学习平台选型指南|政企专属解决方案
在数字化人才培养浪潮下,集团化全员学习已成为央企、国企、大型上市公司的核心战略,而一款稳定、可管控、高合规的企业在线学习平台,是支撑万人级培训的核心底座。传统分散式培训存在管理混乱、标准不统一、效果不可追溯等痛点,本…...
基于哪吒D1与Node-RED的机械臂视觉控制边缘计算方案
1. 项目概述与核心价值最近在折腾一个挺有意思的项目,核心是把一块搭载了全志D1芯片的哪吒开发板,变成一个能同时控制机械臂和拍照的智能边缘节点。这个想法的源头,其实挺实际的:在很多自动化测试、小型分拣或者教育演示的场景里&…...
从HC595到TM1637:一个STM32新手解决数码管闪烁的踩坑实录
从HC595到TM1637:一个STM32新手解决数码管闪烁的踩坑实录 数码管作为嵌入式开发中最基础的显示器件之一,其驱动方式的选择往往决定了整个系统的稳定性和用户体验。当我在一个温湿度监测项目中首次使用HC595驱动四位数码管时,完全没有预料到会…...
Rerank:为什么它是 RAG 效果的分水岭?
在一个典型 RAG 流程中: 很多 Demo 系统会省略中间这一步: 直接把 Top-K 丢给模型 看起来能跑,但一旦进入真实场景,很快就会出现: 命中了,但排在后面噪声太多,污染上下文模型“理解错重点” 本…...
