다른 방법이 있습니다.
{
"aggs": {
"5_days": {
"filter": {
"filter": {
"bool": {
"minimum_should_match": 1,
"should": [
{
"range": {
"date": {
"from": "2016-12-01T00:00:00.000Z",
"to": "2016-12-02T00:00:00.000Z"
}
}
},
{
"range": {
"date": {
"from": "2016-12-08T00:00:00.000Z",
"to": "2016-12-09T00:00:00.000Z"
}
}
},
{
"range": {
"date": {
"from": "2016-12-15T00:00:00.000Z",
"to": "2016-12-16T00:00:00.000Z"
}
}
},
{
"range": {
"date": {
"from": "2016-12-22T00:00:00.000Z",
"to": "2016-12-23T00:00:00.000Z"
}
}
},
{
"range": {
"date": {
"from": "2016-12-29T00:00:00.000Z",
"to": "2016-12-30T00:00:00.000Z"
}
}
}
]
}
}
},
"aggs": {
"samples": {
"date_histogram": {
"field": "date",
"interval": "day"
}
}
}
}
}
}
두 번째 방법이 더 간결 만 선택한 날짜와 date_range
aggregation를 사용하여 요약된다 :
그 중 하나는 원하는 날짜를 선택하는 필터에 의해 속박
date_histogram
집계를 사용하는 것입니다
{
"aggs": {
"range": {
"date_range": {
"field": "date",
"ranges": [
{ "from": "2016-12-01T00:00:00.000Z", "to": "2016-12-02T00:00:00.000Z" },
{ "from": "2016-12-08T00:00:00.000Z", "to": "2016-12-09T00:00:00.000Z" },
{ "from": "2016-12-15T00:00:00.000Z", "to": "2016-12-16T00:00:00.000Z" },
{ "from": "2016-12-22T00:00:00.000Z", "to": "2016-12-23T00:00:00.000Z" },
{ "from": "2016-12-29T00:00:00.000Z", "to": "2016-12-30T00:00:00.000Z" }
]
}
}
}
}
출처
2017-02-01 09:55:12
Val
단순히 'date_histogram' 집계를 샘플링하려는 날짜 이외의 다른 날짜를 필터링하는 필터로 제한하지 않는 이유는 무엇입니까? – Val
내가 말했듯이, 날짜 히스토그램은 ** 필터링 **이 아닌 ** 그룹 **이 될 것입니다. 예를 통해 당신의 요점을 증명할 수 있습니까? –