Nested 집계
Nested 집계
nested 집계를 사용하면 중첩된 객체 안의 필드에 대해 집계할 수 있어요. nested 타입은 객체 배열의 각 요소를 별도의 숨겨진 문서로 색인하는 object 데이터 타입의 특수 버전이에요. 이렇게 하면 같은 배열 요소 안의 필드 간 관계가 보존되어 함께 쿼리하고 집계할 수 있어요.
출처: 문서
본문
Nested 집계 예제 (Nested aggregation example)
중첩 배열 안의 필드에 대해 집계하려면 중첩 필드의 경로를 지정하고 그 아래에 하위 집계를 정의해요:
GET logs-nested/_search
{
"query": {
"match": { "response": "200" }
},
"aggs": {
"pages": {
"nested": { "path": "pages" },
"aggs": {
"min_load_time": { "min": { "field": "pages.load_time" } }
}
}
}
}
반환된 hit은 요청된 집계를 포함해요:
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 1,
"hits": [
{
"_index": "logs-nested",
"_id": "0",
"_score": 1,
"_source": {
"response": "200",
"pages": [
{
"page": "landing",
"load_time": 200
},
{
"page": "blog",
"load_time": 500
}
]
}
}
]
},
"aggregations": {
"pages": {
"doc_count": 2,
"min_load_time": {
"value": 200
}
}
}