当前位置:   article > 正文

【ES】--ES集成热更新自定义词库(字典)_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插件的源码中
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/126520?site
推荐阅读
相关标签
  

闽ICP备14008679号