关于ElasticSearch 分词热更新的实现方式

这里写自定义目录标题


关于es 分词的热更新方式有两种

(1)修改ik分词器源码,然后手动支持从mysql中每隔一定时间,自动加载新的词库
(2)基于ik分词器原生支持的热更新方案,部署一个web服务器,提供一个http接口,通过modified和tag两个http响应头,来提供词语的热更新

因为网络更新的方式并不太稳定,主要以修改ik分词器源码的方式来进行实现。

源码下载地址:https://github.com/medcl/elasticsearch-analysis-ik 根据自行的es版本 更改pom版本号为对应版本

1.打开源码后,在org.wltea.analyzer.dic目录下创建一个线程类,线程方法为无限循环重复调用读取分词库的方法

在这里插入图片描述

2.找到org.wltea.analyzer.dic.Dictionary类的初始化方法initial,在其中加入刚刚创建的线程的启动

在这里插入图片描述

3.从刚刚创建的线程中调用的读取分词库的方法可知,其中核心的读取分词库的两个方法为loadMainDict,和 loadStopWordDict

在这里插入图片描述

4.找到loadMainDict的方法后,在其末尾添加上读取我们自行编写读取mysql的分词库方法

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值