Elasticsearch에는 타임 스탬프가있는 문서와 웹 서비스에 대해 관찰 된 요청 수가 포함 된 색인이 있습니다.탄성 검색 : 집계 버킷에서 필터 또는 값 얻기
매일 최대 요청 수가 관찰 된 시간 (피크 시간)을 얻기 위해 집계를 수행하고 싶습니다. 때문에 능력을 실제로 피크 시간에 해당하는 peak_hour_histogram 버킷 배열의 첫 번째 항목 : 이것은 어떤 의미에서 확인하고있다
{
"aggregations" : {
"week_summary" : {
"filter" : {"range": {"@timestamp": {"gte": "2015-01-20||-7d","lte": "2015-01-20"}}},
"aggregations" : {
"oneday_interval" : {
"date_histogram" : {"field" : "@timestamp", "interval" : "1d","order" : { "_key" : "desc" }},
"aggregations" : {
"peak_hour_histogram" : {
"date_histogram" : {"field" : "@timestamp", "interval" : "1h","order" : { "peak_request_count.value" : "desc" }},
"aggregations" : {
"peak_request_count" : {
"sum" : { "field" : "request_count"}
}
}
}
}
}
}
}
},
size : 0
}
:
나는 다음과 같은 요청을 수행하여 결과를 얻을 성공 하위 집계 값에 대한 날짜 막대 그래프를 정렬합니다.
그럼에도 불구하고 다른 모든 버킷 항목 (즉, 하루 중 23 시간)이 필요하지 않으며 첫 번째 항목 만 받고 싶습니다. 나는 어떤 성공도없이 top_hits로 놀려고했습니다.
이 필터링을 수행하는 방법을 알고 계십니까?
NB : 실제 사용 사례에서 내 집계는 약 3MB의 데이터를 반환합니다. 그래서 쓸모없는 값들을 모두 필터링하는 것이 중요해진다.
답장을 보내 주셔서 감사합니다.