order 객체 내부에 “무엇을 기준으로”:”어떻게 정렬할 것인지”를 작성한다.
무엇을 기준으로
_count : 각 버킷에 담긴 문서의 갯수_key : 각 버킷의 이름(알파벳, 숫자 크기 순, 날짜순)GET web_traffic/_search
{
"size": 0,
"aggs": {
"no_status_code": {
"terms": {
"field": "http.response.status_code",
"order": {
"_key": "asc" // 상태코드 숫자 값을 기준으로 오름차순 정렬
}
}
}
}
}먼저 하위집계들의 값을 계산한뒤, 그 결과수치를 가지고 부모 버킷들의 순서를 정한다.
"aggs": {
"group_by_category": {
"terms": {
"field": "category.keyword",
"order": { "avg_price": "desc" } // 하위 집계인 avg_price 결과로 정렬
},
"aggs": {
"avg_price": { "avg": { "field": "price" } }
}
}
}
📌주의할 점
GET web_traffic/_search
{
"size": 0,
"aggs": {
"group_by_res_code": {
"terms": {
"field": "http.response.status_code",
"order": {
"each_runtime.50": "asc"
}
},
"aggs": {
"each_runtime": {
"percentiles": {
"field": "runtime_ms",
"percents": [
50
]
}
}
}
}
}
}