显示所有 Elasticsearch 聚合结果/存储桶,而不仅仅是 10 个

问题描述

大小参数应该是术语查询示例的参数:

curl -XPOST "http://localhost:9200/imoveis/_search?pretty=1" -d'
{
   "size": 0,
   "aggregations": {
      "bairro_count": {
         "terms": {
            "field": "bairro.raw",
             "size": 10000
         }
      }
   }
}'

用于size: 0ES 版本 2 和更早版本。

size:0由于高基数字段值对集群造成内存问题,因此从 2.x 开始不推荐使用设置。您可以在此处的 github 问题中阅读有关它的更多信息。

size建议为1 到 2147483647 之间的数字显式设置合理的值。

解决方法

我正在尝试列出聚合中的所有存储桶,但它似乎只显示前 10 个。

我的搜索:

curl -XPOST "http://localhost:9200/imoveis/_search?pretty=1" -d'
{
   "size": 0,"aggregations": {
      "bairro_count": {
         "terms": {
            "field": "bairro.raw"
         }
      }
   }
}'

回报:

{
  "took" : 2,"timed_out" : false,"_shards" : {
    "total" : 5,"successful" : 5,"failed" : 0
  },"hits" : {
    "total" : 16920,"max_score" : 0.0,"hits" : [ ]
  },"aggregations" : {
    "bairro_count" : {
      "buckets" : [ {
        "key" : "Barra da Tijuca","doc_count" : 5812
      },{
        "key" : "Centro","doc_count" : 1757
      },{
        "key" : "Recreio dos Bandeirantes","doc_count" : 1027
      },{
        "key" : "Ipanema","doc_count" : 927
      },{
        "key" : "Copacabana","doc_count" : 842
      },{
        "key" : "Leblon","doc_count" : 833
      },{
        "key" : "Botafogo","doc_count" : 594
      },{
        "key" : "Campo Grande","doc_count" : 456
      },{
        "key" : "Tijuca","doc_count" : 361
      },{
        "key" : "Flamengo","doc_count" : 328
      } ]
    }
  }
}

我有超过 10 个用于此聚合的键。在这个例子中,我有 145 个键,我想要每个键的计数。桶上有分页吗?我可以全部拿到吗?

我正在使用 Elasticsearch 1.1.0