ElasticSearchLucene版本错误

juzqafwq  于 2022-11-07  发布在  Lucene
关注(0)|答案(3)|浏览(241)

我有一个非常简单的ES客户端,它将向本地ES服务器发送查询(ES的1.4.1版本),并获得结果并显示给用户。现在,我将此代码带到一个不同的项目X中,并尝试将其与X沿着使用,因为我需要X中的一些API。现在,当我在X中运行相同的代码时,然后我得到了这个错误,不知道如何解决。你能帮我解决这个问题吗?线程“main”java.lang.NoSuchFieldError中的异常:六氟化硫

at org.elasticsearch.Version.<clinit>(Version.java:45) 
at org.elasticsearch.node.internal.InternalNode.<init>(InternalNode.java:136) 
at org.elasticsearch.node.NodeBuilder.build(NodeBuilder.java:159) 
at org.elasticsearch.node.NodeBuilder.node(NodeBuilder.java:166) 
at org.bmi.elasticsearch.ranking.TestClass2.main(TestClass2.java:54)
jm81lzqq

jm81lzqq1#

看起来您试图在项目中将Elasticsearch和Lucene作为单独的库使用。
Elastissearch 1.4.1基于Lucene 4.10.2。您可以查看发布博客页面here以了解更多详细信息。
要解决您的问题,您需要将Lucene库版本更新到4.10,并使用Version.LUCENE_CURRENT而不是LUCENE_3_6。
您可以找到here Lucene 4.10核心API文档。
我希望这会有所帮助。如果你有疑问,请不要犹豫。

wswtfjt7

wswtfjt72#

在另一种情况下也会发生同样的错误-如果有人在与先前版本相同的目录中解压缩新的ElasticSearch版本。然后它会在'ElasticSearch/lib'目录中出现两个版本的jar。启动时会出现该错误。
在这种情况下,修复是使干净的ElasticSearch安装,没有残留。

相关问题