Elasticsearch 컬렉션 Date Histogram 컬렉션
활용단어참조
Datehistogram의 사용법은histogram과 차이가 많지 않습니다. 단지 구간에서 날짜의 표현식을 지원합니다.
{
"aggs":{
"articles_over_time":{
"date_histogram":{
"field":"date",
"interval":"month"
}
}
}
}
interval 필드는 여러 가지 키워드를 지원합니다:'year','quarter','month','week','day','hour','minute','second'
물론 이러한 키워드를 확장해서 사용할 수도 있습니다. 예를 들어 한 시간 반 동안 다음과 같이 정의할 수 있습니다.
{
"aggs":{
"articles_over_time":{
"date_histogram":{
"field":"date",
"interval":"1.5h"
}
}
}
}
반환된 결과는 포맷을 설정하여 포맷할 수 있습니다.
{
"aggs":{
"articles_over_time":{
"date_histogram":{
"field":"date",
"interval":"1M",
"format":"yyyy-MM-dd"
}
}
}
}
결과는 다음과 같습니다.
{
"aggregations":{
"articles_over_time":{
"buckets":[{
"key_as_string":"2013-02-02",
"key":1328140800000,
"doc_count":1
},{
"key_as_string":"2013-03-02",
"key":1330646400000,
"doc_count":2
},
...
]}
}
}
여기서 key_as_string은 포맷된 날짜입니다. 키는 날짜 스탬프입니다.
time_zone 시간대의 사용법
es에서 날짜는 시간대의 표시 방법을 지원합니다. 그러면 동팔구의 시간에 해당합니다.
{
"aggs":{
"by_day":{
"date_histogram":{
"field":"date",
"interval":"day",
"time_zone":"+08:00"
}
}
}
}
offset 오프셋 값을 사용하여 시간 구간을 변경합니다.
기본값은 새벽 0시부터 자정 24시까지입니다. 시간대를 변경하려면 아래에서 오프셋 값을 설정할 수 있습니다.
{"aggs":{
"by_day":{
"date_histogram":{
"field":"date",
"interval":"day",
"offset":"+6h"
}
}
}
}
그러면 통의 구간은 다음과 같이 바뀐다.
"aggregations":{
"by_day":{
"buckets":[{
"key_as_string":"2015-09-30T06:00:00.000Z",
"key":1443592800000,
"doc_count":1
},{
"key_as_string":"2015-10-01T06:00:00.000Z",
"key":1443679200000,
"doc_count":1
}]
}
}
Missing Value 기본 필드
값이 없는 필드를 만나면 기본 필드missing value에 따라 계산됩니다.
{
"aggs":{
"publish_date":{
"date_histogram":{
"field":"publish_date",
"interval":"year",
"missing":"2000-01-01"
}
}
}
}
기타
다른 용법에 대해서는 여기에서 군더더기 설명이 많지 않다. 예를 들어 스크립트, Order,min_doc_count 필터, extended_bounds 등은 모두 지원됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.