728x90
반응형
SMALL
일별, 주별, 월별 등 일정 기간별 집계 자료가 필요한 경우에 유용하게 사용할 수 있는
calendar_interval 에 대해서 정리 해 본다.
histogram 집계는 bucket 집계 하위 집계 개념 중 하나인데
range 집계와 마찬가지로 숫자의 범위를 집계한다. 지정한 수치를 범위로 하여 산정하며 간격 내 속하는 document 들에 대한 집계를 수행한다.
date_histogram 집계는 histogram 집계와 유사하지만 숫자가 아닌 날짜를 대상으로 한다.
calendar_interval 키워드를 통해 주로 사용하는 단위에 대해서 사용할 수 있으며
- m(minute), h(hour), d(day), w(week), M(month), q(quarter), y(연)
- ex) "calendar_interval": "1M" or "calendar_interval": "month"
fixed_interval 키워드를 통해 자유롭게 단위를 지정할 수도 있다.
- ms(milliseconds), s(second), minutes(m), hours(h), days(d)
- ex) "fixed_interval": "30d"
일별 사용량 추이는 아래와 같이 알 수 있다.
{
"aggs": {
"by_week": {
"date_histogram": {
"field": "date",
"calendar_interval": "day",
"order": {
"_key":"asc"
}
},
"aggs": {
"rtn_avg":{
"avg":{
"field": "rtnCount"
}
},
"rtn_sum":{
"sum":{
"field": "rtnCount"
}
}
}
}
}
}
위의 calendar_interval 의 값을 week 으로 하면 주별, month로 하면 월별 집계가 된다.
편리하다.
728x90
반응형
LIST
'IT > Elasticsearch' 카테고리의 다른 글
Elasticsearch Mappings - Nested type (0) | 2022.06.23 |
---|---|
Elasticsearch - Aggregation - extended_stats (0) | 2020.09.15 |
Elasticsearch 검색 - Aggregation (0) | 2020.09.14 |
ElasticSearch - kibana (visualize 분석) (0) | 2020.09.09 |
Elasticsearch 검색 (Query DSL) (0) | 2020.09.09 |