Elasticsearch空过滤器聚合

3

我将 Elasticsearch 的版本从 5.4 升级到了 7.1。我有一个在 5.4 版本上运行良好的查询,但是同样的查询在 7.1 上会抛出异常。

查询格式不正确,找到空条款

查询内容:

{
    "query": {"match_all": {}}
    ,"aggs": {
       "price": {
           "aggs": {
              "tt": {
                  "terms": {
                     "field": "platformType"
                  }
              }
           },
           "filter": {

           }
       }
    }
}

过滤器为空是因为我使用了条件不足的查询。有什么解决办法吗?
提前感谢您。

你期望一个空的筛选器部分会有什么结果? - Val
在许多情况下,我不期望任何东西,就像这样的过滤器不为空 { "query": {"match_all": {}} ,"aggs": { "price": { "aggs": { "tt": { "terms": { "field": "platformType" } } }, "filter": { "term": { "isActive": "true" } } } } } 我将其放入过滤请求数据中,但在某些情况下,数据为空。 - legend_blue
如果您使用过滤聚合,则必须始终在其中放置一些内容,例如math_all或任何其他内容。 - Val
谢谢@Val的建议,我会尝试的。 - legend_blue
1个回答

5

空语句已被弃用。使用与query子句中相同的方法来使用match_all

{
    "query": {"match_all": {}}
    ,"aggs": {
       "price": {
           "aggs": {
              "tt": {
                  "terms": {
                     "field": "platformType"
                  }
              }
           },
           "filter": {
                   "match_all": {}
           }
       }
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接