elasticsearch 在Elasticsearch 2.2.0中执行多搜索时出现Lucene抽象方法错误
查询两个单词-->elasticsearch 在Elasticsearch 2.2.0中执行多搜索时出现Lucene抽象方法错误,elasticsearch,lucene,elasticsearch,Lucene,查询两个单词-->“word1”和“另一个单词”。我将两个多搜索查询添加到MultiSearchRequestBuilder,然后执行查询,但得到以下响应: { "responses" : [ { "took" : 22, "timed_out" : false, "_shards" : { "total" : 6, "successful" : 4, "failed" : 2, "failures" : [ {
“word1”
和“另一个单词”
。我将两个多搜索查询添加到MultiSearchRequestBuilder
,然后执行查询,但得到以下响应:
{
"responses" : [ {
"took" : 22,
"timed_out" : false,
"_shards" : {
"total" : 6,
"successful" : 4,
"failed" : 2,
"failures" : [ {
"shard" : 2,
"index" : "elasticsearch.test",
"node" : "99LdzvW_T0aBY4UOzNHAIA",
"reason" : {
"type" : "abstract_method_error",
"reason" : "org.apache.lucene.search.TwoPhaseIterator.matchCost()F"
}
} ]
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
}, {
"took" : 18,
"timed_out" : false,
"_shards" : {
"total" : 6,
"successful" : 5,
"failed" : 1,
"failures" : [ {
"shard" : 2,
"index" : "elasticsearch.test",
"node" : "rdK2996KQz-H0khDgW7mKg",
"reason" : {
"type" : "abstract_method_error",
"reason" : "org.apache.lucene.search.TwoPhaseIterator.matchCost()F"
}
} ]
},
"hits" : {
"total" : 0,
"max_score" : null,
"hits" : [ ]
}
} ]
}
问题是它在ES 2.1.1中有效,但在ES 2.2.0中无效
这里的问题是什么?
TwoPhaseIterator.matchCost
已添加到Lucene 5.4中,此问题:
- ElasticSearch 2.1使用Lucene 5.3.x
- ElasticSearch 2.2使用Lucene 5.4.x
您在测试中可能对Lucene有错误的依赖关系,版本<5.4是否使用嵌入式节点或“官方”zip?此错误实际上来自测试用例。我使用官方zipCheck检查测试中嵌入的库“Lucene core”的版本。应该是5.4。1@JérémieB你刚才谈论的问题是我提交的。但我想也许我做错了什么。所以,我升级到2.1,但我想让我尝试升级到2.2,但错误仍然存在。是的,我会检查lucene的核心版本