word源码java-elasticsearch-analysis-ik-master:ik热分词库基于mysql修改

时间:2024-06-25 17:08:51
【文件属性】:

文件名称:word源码java-elasticsearch-analysis-ik-master:ik热分词库基于mysql修改

文件大小:3.08MB

文件格式:ZIP

更新时间:2024-06-25 17:08:51

系统开源

word源码java 热更新 每次都是在es的扩展词典中,手动添加新词语,很坑 (1)每次添加完,都要重启es才能生效,非常麻烦 (2)es是分布式的,可能有数百个节点,你不能每次都一个一个节点上面去修改 es不停机,直接我们在外部某个地方添加新的词语,es中立即热加载到这些新词语 热更新的方案 (1)修改ik分词器源码,然后手动支持从mysql中每隔一定时间,自动加载新的词库 (2)基于ik分词器原生支持的热更新方案,部署一个web服务器,提供一个http接口,通过modified和tag两个http响应头,来提供词语的热更新 用第一种方案,第二种,ik git社区官方都不建议采用,觉得不太稳定 1、下载源码 ik分词器,是个标准的java maven工程,直接导入eclipse就可以看到源码 2、修改源码 Dictionary类,169行:Dictionary单例类的初始化方法,在这里需要创建一个我们自定义的线程,并且启动它 HotDictReloadThread类:就是死循环,不断调用Dictionary.getSingleton().reLoadMainDict(),去重新加载


【文件预览】:
elasticsearch-analysis-ik-master-master
----src()
--------main()
----.travis.yml(187B)
----LICENSE.txt(11KB)
----pom.xml(11KB)
----README.md(9KB)
----config()
--------surname.dic(622B)
--------main.dic(2.65MB)
--------preposition.dic(99B)
--------stopword.dic(132B)
--------extra_single_word_full.dic(49KB)
--------jdbc-reload.properties(443B)
--------suffix.dic(156B)
--------extra_single_word.dic(49KB)
--------extra_single_word_low_freq.dic(11KB)
--------extra_main.dic(4.6MB)
--------IKAnalyzer.cfg.xml(625B)
--------quantifier.dic(1KB)
--------extra_stopword.dic(126B)
----licenses()
--------lucene-NOTICE.txt(9KB)
--------lucene-LICENSE.txt(24KB)

网友评论