Elasticsearch 就在数月前 release 了7.0.0。回头看看公司的技术竟然还是1.7。实在看不下去了升级一下吧。
Deprecated
percolate
公司主用的功能便是percolate。
将商业规则以percolator的形式储存在es中,主数据库数据做成query mapping。以实现knowledgebase。
坑
percolator
percolate 返回doc数量 默认为10 最大为10000 (还有skip feature)。当时不知道还以为之前改syntax的时候出错了。 返回的规则非常少,后来发现始终是10个然后解决了问题。
Log4j 问题
现有的LOG4J2版本为2.1 , ES 7 需要2.11
否则报错 method Not found
java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.debug(Ljava/lang/String;Ljava/lang/Object;)V
以下是解决方案
build.gradle
compile group: 'org.elasticsearch', name: 'elasticsearch', version: '7.0.0'
compile group: 'org.elasticsearch.client', name: 'transport', version: '7.0.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.1'