由于当前业务比较依赖于词库精准匹配,且词库会根据业务来时时更新维护。所以选择了Jcseg词库。
但是在使用中确发现,新词虽然刷新至词库中,但是未被ES识别到。
查阅相关资料,发现有很多人都遇到过同样的问题。之后了解到需要将ADictionary的方法改为单例模式。可解决此问题。(可通过http://git.oschina.net/lionsoul/jcseg了解最新ES+jcseg最新调整)
由于git上的版本交高,而本地版本偏低。所以权衡之后,还是采用修改本地源码,之后再打jar包来解决此问题。在打包的过程中还碰到依赖lucene版本包的问题,此问题一度绕了好久。
所以最后总结相关经验,后续再碰到相关问题。一定是要依赖包和当前修改的版本要一致。
上传下基于elasticsearch-1.7.3+jcseg1.9.6的打成的jcseg-core-1.9.6.jar包。实现了ADictionary的单例模式。