Comments (9)
补充,我调用_cache/clear接口也位解决此问题
from elasticsearch-analysis-ansj.
是的,analyzer会被放在ThreadLocal里。
热更新问题,在这里修复了:#193
from elasticsearch-analysis-ansj.
是的,analyzer会被放在ThreadLocal里。
热更新问题,在这里修复了:#193
谢谢,感谢回复,由于线上ES不方便升级大版本,我准备研究下能否采取其他手段进行解决
from elasticsearch-analysis-ansj.
可以的,如果需要,这边可以对2.x版本升级
其实插件本身改动不大,核心是nlp-lang的改动
from elasticsearch-analysis-ansj.
可以的,如果需要,这边可以对2.x版本升级
其实插件本身改动不大,核心是nlp-lang的改动
你好,我看nlp包中加了volatile关键词,照葫芦画瓢也在我这边低版本改了,然后我在analysis-ansj中的两个类也照着改了。启动没问题,不过没有生效,还是间歇性生效,不知道还有哪里的修改点。
from elasticsearch-analysis-ansj.
可以的,如果需要,这边可以对2.x版本升级
其实插件本身改动不大,核心是nlp-lang的改动你好,我看nlp包中加了volatile关键词,照葫芦画瓢也在我这边低版本改了,然后我在analysis-ansj中的两个类也照着改了。启动没问题,不过没有生效,还是间歇性生效,不知道还有哪里的修改点。
也没有找到threadlocal 的相关修改点
from elasticsearch-analysis-ansj.
ThreadLocal只能是注册的全局的,能控制。如果不是,es注册的是CustomAnalyzer,控制不了的。
所以只能控制,ThreadLocal的value引用,也就是词典
而且词典不能从ENV里移除,如果有变更,只能先clear,再重新加载,如果删除了,clear掉就行
from elasticsearch-analysis-ansj.
ThreadLocal只能是注册的全局的,能控制。如果不是,es注册的是CustomAnalyzer,控制不了的。
所以只能控制,ThreadLocal的value引用,也就是词典
而且词典不能从ENV里移除,如果有变更,只能先clear,再重新加载,如果删除了,clear掉就行
我看你的代码变动好像是把原来的reload 改成reloadLIbrary方法判断分支,执行reload或者是clear,我没理解到怎么就解决bug了
from elasticsearch-analysis-ansj.
reload内部,会先clear,clear执行的时候,会重新初始化branches
......
public class SmartForest<T> implements Comparable<SmartForest<T>>, Serializable {
......
public void clear() {
this.branches = new SmartForest[65536];
}
......
}
之后再重新读取并加载词典,把词条放入branches
from elasticsearch-analysis-ansj.
Related Issues (20)
- elasticsearch6.4.0如何配置mysql方式的热加载词典 HOT 3
- 7.8 ansj 插件的实现是不是有点过时了
- 配置自定义字典为jdbc方式,启动elasticsearch后报错 HOT 5
- 配置自定义词典都没有成功是什么原因 HOT 1
- 7.6.2.0版本 HOT 11
- ansj.cfg.yml HOT 2
- 配置中文停用词不生效 HOT 1
- 如何实现短语屏蔽功能 HOT 6
- 除修改config/ansj.cfg.yml添加自定义词典,还有其他方式添加自定义词典吗? HOT 8
- 怎么在插件中加载自己训练的crf模型 HOT 1
- 使用自定义停用词库后报错 HOT 1
- 请问后续能支持8.4.1版本吗?8.3.3版本安装不上 HOT 4
- 8.3.3版本的包各种报错 HOT 1
- 7.10.x版本支持 HOT 1
- 7.17.9版本支持 HOT 2
- 8.7.0版本配置完自定义词典后,分词报error HOT 2
- 如何热更新词语 HOT 1
- 8.7.1版本 _analyze 报错 HOT 2
- es8.8.2配置分词不生效 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from elasticsearch-analysis-ansj.