我对此捕获中的查询有两个问题:
答案 0 :(得分:1)
试试这个:
{
"query" : {
"match_all" : {}
},
"size" : 0,
"aggs" : {
"categories" : {
"terms" : {
"field" : "category",
"size" : 999999,
"order" : {
"sum_category" : "desc"
}
},
"aggs" : {
"sum_category" : {
"sum" : {
"field" : "respsize"
}
}
}
}
}
}
1)。请参阅(2)中的注释,了解sort
正在做什么。至于按sum_category的值排序类别,请参阅order
部分。似乎存在一个与https://github.com/elastic/elasticsearch/issues/4643相关的陈旧且封闭的问题,但对于我来说,它对Elasticsearch的v1.5.2很有用。
2)。虽然你没有那个match_all查询,但我认为这可能就是你得到的结果。因此,您指定的实际应用于这些结果的排序。为了得不到这些,我只有size: 0
部分。
您想要所有类别的存储桶吗?我注意到你没有为主聚合指定大小。这是size: 999999
部分。