我只是潛入ElasticSearch 1.0中的新聚合函數。我試圖從一堆文檔(loglines)中獲取一些統計數據。ElasticSearch聚合使用doc_count平均
每個文檔都算作命中,我希望獲取給定時間內每小時的平均點擊次數。每個文檔都有一個日期時間參考,並且每個文檔都算作'hit'。
第一位很容易(查詢和過濾),並且我得到了所有我想匹配的文檔。但我無法弄清楚如何獲得文檔數量的平均值。
我可以每天,每小時獲取所有文檔的列表,並在客戶端進行一些統計計算,但我希望能夠在ElasticSearch中完成所有工作。我的猜測是可以通過doc_count完成,但我無法找到任何信息。
我可以在給定的時間範圍內在一小時內得到所有文檔的列表。如果我嘗試這與聚集在小時:
"aggregations" : {
"articles_over_time" : {
"histogram" : {
"script" : "doc['created_at'].date.hourOfDay",
"interval" : 1
}
}
}
我得到的一定期間內每小時的文件清單,但它們之和()「編在一起,我很想得到一個平均(或甚至更好:實際的'統計'聚合)。不是在文檔字段上,而是在doc_count本身上。有任何想法嗎?
您是否找到了解決方案? – pvledoux
不,我結束了對客戶端代碼的聚合,到目前爲止我還沒有找到任何解決方案來做到這一點。 – svdgraaf
謝謝,我終於在客戶端做到了。我敢肯定這是可能的,但我錯過了一些東西... – pvledoux