我有关于这个结构的文档:
{
FIELD1:string,
FIELD2:
[ {SUBFIELD:number}, {SUBFIELD:number}...]
}我想对FIELD2SubbFIED中的数字和的结果进行排序:
GET myindex/_search
{
"size":0,
"aggs": {
"a1": {
"terms": {
"field": "FIELD1",
"size":0
},
"aggs":{
"a2":{
"sum":{
"field":"FIELD2.SUBFIELD"
}
}
}
}
}
}如果我这样做,我得到的存储桶没有排序,但我想要按"a2“值排序的存储桶。我怎么能做到这一点?谢谢!
发布于 2015-06-10 22:57:47
你差一点就成功了。您只需向a1术语聚合添加一个order property,如下所示:
GET myindex/_search
{
"size":0,
"aggs": {
"a1": {
"terms": {
"field": "FIELD1",
"size":0,
"order": {"a2": "desc"} <--- add this
},
"aggs":{
"a2":{
"sum":{
"field":"FIELD2.SUBFIELD"
}
}
}
}
}
}发布于 2020-01-14 13:26:55
来自Val https://stackoverflow.com/users/4604579/val的卓越表现
基本上是一样的,但我找到了每个“名字”的最大“尺寸”,并显示了前25个最大的:
{
"size": 0,
"aggs": {
"agg1": {
"terms": {
"field": "name.keyword",
"order": {
"agg2": "desc"
},
"size": 25
},
"aggs": {
"agg2": {
"max": {
"field": "size"
}
}
}
}
}
}https://stackoverflow.com/questions/30759819
复制相似问题