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

news/2024/12/6 19:41:12/

目录

  • 一、问题描述
  • 二、具体实施
    • 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插件的源码中
在这里插入图片描述


http://www.ppmy.cn/news/1350419.html

相关文章

【51单片机】DS18B20(江科大)

一、DS18B20温度传感器 1.DS18B20介绍 DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点 测温范围 :- 55℃到125℃ 通信接口:1-Wire(单总线) 其它特征:可形成…

Linux第47步_安装支持linux的第三方库和mkimage工具

安装支持linux的第三方库和mkimage工具,做好移植前的准备工作。 编译linux内核之前,需要先在 ubuntu上安装“lzop库”和“libssl-dev库”,否则内核编译会失败。 mkimage工具会在zImage镜像文件的前面添加0x40个字节的头部信息,就可以得到uI…

精品springboot疫苗发布和接种预约系统

《[含文档PPT源码等]精品基于springboot疫苗发布和接种预约系统[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: Java——涉及技术: 前端使用技术:…

【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理

摘要 | Abstract TO-BE-FILLED 1.前言 | Introduction 近期想深入了解语音识别(ASR)中隐马尔可夫模型(HMM)和深度神经网络-隐马尔可夫(DNN-HMM)混合模型,但是尽管网络上有许多关于DNN-HMM的介绍,如李宏毅教授的《深度学习人类语言处理》[1],…

Kotlin手记(一):基础大杂烩

Kotlin简介 2011年7月,JetBrains推出Kotlin项目,这是一个面向JVM的新语言 2012年2月,JetBrains以Apache 2许可证开源此项目。 2016年2月15日,Kotlin v1.0发布,这被认为是第一个官方稳定版本。 在Google I/O 2017中&am…

CSP-动态规划-最长公共子序列(LCS)

一、动态规划 动态规划(Dynamic Programming,简称DP)主要用于求解可以被分解为相似子问题的复杂问题,特别是在优化问题上表现出色,如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子…

【蓝桥杯选拔赛真题34】C++最大值 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析

目录 C/C最大值 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、推荐资料 C/C最大值 第十三届蓝桥杯青少年创意编程大赛C选拔赛真题 一、题目要求 1、编程实现(C) 给定一个…

【GameFramework框架内置模块】1、全局配置(Config)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q7…