弹性搜索Lucene版本错误

Vin*_*eel 4 java lucene elasticsearch

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

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)
Run Code Online (Sandbox Code Playgroud)

eli*_*sah 13

您似乎试图在项目中将Elasticsearch和Lucene用作单独的库.

Elastissearch 1.4.1基于Lucene 4.10.2.您可以在此处查看发布博客页面以获取更多详细信息.

要解决您的问题,您需要将Lucene库版本更新为4.10并使用Version.LUCENE_CURRENT而不是LUCENE_3_6.

您可以在这里找到Lucene 4.10 Core API文档.

我希望这会有所帮助.如果您有疑问,请随时评论.