聚合结果的排序
默认:桶会根据 doc_count
降序排列。
内置排序:
设置按doc_count升序排序:注意order,_count
GET /cars/transactions/_search
{
"size" : ,
"aggs" : {
"colors" : {
"terms" : {
"field" : "color",
"order": {
"_count" : "asc"
}
}
}
}
}
其他排序关键字:
_count
按文档数排序。对 terms
、 histogram
、 date_histogram
有效。
_term
按词项的字符串值的字母顺序排序。只在 terms
内使用。
_key
按每个桶的键值数值排序(理论上与 _term
类似)。 只在 histogram
和date_histogram
内使用。
按度量排序:根据字段名称引用度量即可
GET /cars/transactions/_search
{
"size" : ,
"aggs" : {
"colors" : {
"terms" : {
"field" : "color",
"order": {
"avg_price" : "asc"
}
},
"aggs": {
"avg_price": {
"avg": {"field": "price"}
}
}
}
}
}
多值度量使用点式路径:extended_stats度量输出多个度量值
GET /cars/transactions/_search
{
"size" : ,
"aggs" : {
"colors" : {
"terms" : {
"field" : "color",
"order": {
"stats.variance" : "asc"
}
},
"aggs": {
"stats": {
"extended_stats": {"field": "price"}
}
}
}
}
}
深层路径:>嵌套
GET /cars/transactions/_search
{
"size" : ,
"aggs" : {
"colors" : {
"histogram" : {
"field" : "price",
"interval": ,
"order": {
"red_green_cars>stats.variance" : "asc"
}
},
"aggs": {
"red_green_cars": {
"filter": { "terms": {"color": ["red", "green"]}},
"aggs": {
"stats": {"extended_stats": {"field" : "price"}}
}
}
}
}
}
}