1
주어진 시간 범위 (예 : 15:00 - 16:00)의 평균 항목 수를 알아야하는 아래의 쿼리가 있습니다.주어진 시간 범위에 대한 평균 항목 수를 쿼리합니다.
이 쿼리가 제대로 작동하지 않습니다. 시간 범위 (날짜 없음)를 표시하고이 범위 당 평균 항목 수를 찾는 방법은 무엇입니까?
POST /myindex/_search
{
"size": 0,
"query": {
"bool": {
"filter": [
{"term": {"EventId": "11"}},
{"term": {"EventType": "Type1"}}
]
}
},
"aggs": {
"range": {
"date_range": {
"field": "Datetime",
"ranges": [
{
"from": "16:00-1H/H",
"to": "16:00/H"
}
]
}
}
}
}
이동 평균을 사용해야합니까? 방법?
나는 이것을 시도했지만 누군가이 쿼리를 끝내도록 도와 주시면 감사하겠습니다. "value_count" : { "field" : "EventHour"}
이 항목 수를 계산하는 올바른 방법인지 여부는 알 수 없습니다. 내가 제대로 내가 솔루션 나 자신을 발견
POST /myindex/_search
{
"size": 0,
"query": {
"bool": {
"filter": [
{"term": {"EventId": "11"}},
{"term": {"EventType": "Type1"}},
{
"script": {
"script": "doc.date.date.getHourOfDay() >= min && doc.date.date.getHourOfDay() <= max",
"params": {
"min": 15,
"max": 16
}
}
}
]
}
},
"aggs": {
"hourly_intensity": {
"date_histogram": {
"field": "Datetime",
"interval": "hour"
},
"aggs": {
"count_of_events": {
"value_count" : { "field" : "EventHour"}
}
}
},
"hourly_avg_count": {
"avg_bucket": {
"buckets_path": "hourly_intensity>count_of_events"
}
}
}
}