我正在将 Elasticsearch 6.2.4 与 JEST 客户端一起使用。
使用以下库
“org.elasticsearch” % “elasticsearch” % “6.2.4”
但是现在我将库更新为 7.15
“org.elasticsearch”%“elasticsearch”%“7.15.0”
使用相同的 JEST 客户端。
所以在升级搜索查询失败并出现以下错误后
{"error":{"root_cause":[{"type":"parsing_exception","reason":"[match_phrase_prefix] query does not support [zero_terms_query]","line":1,"col":497}],"type":"parsing_exception","reason":"[match_phrase_prefix] query does not support [zero_terms_query]","line":1,"col":497},"status":400}
发生错误是因为库 7.15 添加了(QueryBuilders.matchPhrasePrefixQuery())新参数“zero_terms_query”到 match_phrase_prefix 查询
"match_phrase_prefix" : {
"title" : {
"query" : "a",
"slop" : 2,
"max_expansions" : 100,
"zero_terms_query" : "NONE",
"boost" : 1.0
}
}
与 6.2.4 查询完全相同,除了参数“zero_terms_query”:“NONE”,所以我正在寻找一种方法,如果可以务实地从“matchPhrasePrefixQuery”查询中删除此参数,但是,可以查看默认值是通过此方法设置为 zero_terms_query 参数
MatchPhrasePrefixQueryBuilder.zeroTermsQuery()
但是没有办法从查询中去掉这个参数,有什么解决方案吗?