ES 聚合查询的结果默认显示10条?

问题

对ES做一次聚合查询返回的查询结果中只显示10个词项,如何才能够将所有的词项都显示出来?

{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "passtime": { "gt": "1490976000000", "lt": "1491062399000" } }
        }
      ],
      "must_not": [],
      "should": []
    }
  },
  "aggs": {
    "colors": {
      "terms": {
        "field": "crossingid"
      }
    }
  }
} 

比如上个例子,根据字段crossingid进行聚合分组,但是返回的结果中buckets只有10个分组。

分析

ES对查询结果的展示默认只显示10条,要想展示更对,需要在请求体中加上size参数。

解决

{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "passtime": { "gt": "1490976000000", "lt": "1491062399000" } }
        }
      ],
      "must_not": [],
      "should": []
    }
  },
  "aggs": {
    "colors": {
      "terms": {
        "size": 1000
        "field": "crossingid"
      }
    }
  }
} 

在terms中加size,那么返回的结果中就用size个词项了。

猜你喜欢

转载自blog.csdn.net/qqqq0199181/article/details/81673362
今日推荐