0

我正在将 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()

但是没有办法从查询中去掉这个参数,有什么解决方案吗?

4

0 回答 0