지표, 통계 또는 다른 분석자료로서 데이터를 요약한다.
아래와 같은 세가지 카테고리가 있다.
- Metric
filed 값들로부터 합계, 평균 등을 계산한다. - Bucket
field 값들, 범위 또는 다른 기준을 근거로 하여 document 들을 bucket 에 그룹화 한다. - Pipeline
document 나 field 대신 다른 aggregation 으로 부터 입력을 취한다.
terms aggregation
multi-bucket 값을 bucket 들이 동적으로 설계되는 aggregation 을 기반으로 하여 얻는다.
Response
- doc_count_error_upper_bound
각 term 에 대한 document 개수의 오류의 상한값(?) - sum_other_doc_count
유일한 term 이 많이 있을 때, elasticsearch 는 top term 만 반환한다.
현재 response 에 부분이 아닌 모든 bucket 들에 대한 document 개수의 합 - buckets
Size
기본적으로 terms aggregation 은 상위 10개의 term 들을 반환한다.
size parameter 를 사용해서 그 이상의 terms 들을 반환 할 수 있다.
전부를 원하는 경우 composite aggregation 을 사용 할 수 있다.
Order
기본적으로, terms aggregation 은 document 의 개수(_count) 를 내림차순으로 정렬한다.
order parameter 를 사용해서 다른 기준으로 정렬 할 수 있다.
Sub aggregation
parent aggregation 에 의해 생성 된 bucket 에서 다시 aggregation 을 취하는 것
Filtering
composite aggregation
성능을 좀 탄다(?)
다른 multi-bucket aggregation 과 달리, composite aggregation 은 multi-level aggregation 으로 부토 모든 bucket 들을 효율적으로 페이지를 매길 수 있다(?)
특정한 aggregation 의 모든 bucket 들을 스트림화 하는 방법을 제시하며,
document 에 대한 scroll 과 유사하다.
Value sources
sources parameter 는 composited bucket 을 만들 때 사용하기 위한 source field 들을 정의한다.
정의 된 sources 들의 순서는 반환 될 key 들의 순서를 제어한다.
sources parameter 는 아래 타입이어야 한다.
- terms
terms aggregation 과 유사하지만, 같은 parameter set 을 지원하지는 않는다. - histogram
- date_histogram
- geotile_grid
Order
기본적으로 composited bucket 들은 그들의 자연적인 순서로 정렬된다.(오름차순)
Size
size parameter 는 얼마나 많은 composite bucket 들이 반환되어야 하는지 정의하기 위해 설정할 수 있다.
각 composite bucket 들은 단일 bucket 으로 고려되어, 10 이라는 크기의 설정은 value sources 에서 생성 된 처음 10개의 composite bucket 들을 반환 할 것 이다.
기본 값은 10
Pagination
composite bucket들의 개수가 너무 많아서 단일 응답으로 반환 될 수 없는 경우,
여러번에 요청으로 분할 하여 복구하는 것이 가능하다.
composite bucket 들은 자연적으로 평탄화되므로, 요청된 size 는 정확히 응답에 반환 될 composite bucket 의 수 이다.
after parameter 를 사용하여 여러번에 걸쳐 응답을 받을 수 있다.
첫 request 에 대한 response 에서 after_key 라는 항목을 이용하여
다음 request 내 after 항목에 이를 추가한다.
Top hits aggregation
top_hits metric aggregator 는 aggregate 되는 중인 가장 관련있는 document 를 추적한다.(?)
이 aggregator 는 sub aggregator 로 사용되며, bucket 당 top matching document 를 aggregate 할 수 있다.
top_hits 를 top-level aggregation 으로 사용하는 것은 권장하지 않는다.
search hits 를 group 화 하기 원한다면, collapse 라는 parameter 를 대신 사용하는 것을 권장한다.
top_hits aggregator 는 bucket aggreagor 를 통해 특정 필드별로 result set 을 그룹화 하는데 효과적으로 사용 할 수 있다.
아래와 같은 option 이 있다.
- from
- size
bucket 당 top matching hits 를 반환하기 위한 최대 개수 - sort
top matching hits 를 위한 정렬 방식
'Elasticsearch' 카테고리의 다른 글
Aggregations - bucket (0) | 2022.08.03 |
---|---|
Aggregation - metric (0) | 2022.08.03 |
각종 query 정리 (0) | 2022.05.31 |
Elasticsearch 설치 및 설정 (0) | 2022.04.02 |