在该线程中已经解决了同类问题。
为使解决方案适应您的问题,我们需要编写一个脚本以将日期转换为一天中的小时:
Date date = new Date(doc['created_at'].value) ; java.text.SimpleDateFormat format = new java.text.SimpleDateFormat('HH');format.format(date)并在查询中使用它:
{ "aggs": { "perWeekDay": { "filter" : { "range" : { "occurred" : { "gt" : "now-1M" } } }, "aggs": { "terms": { "script": "Date date = new Date(doc['created_at'].value) ;java.text.SimpleDateFormat format = new java.text.SimpleDateFormat('HH');format.format(date)" } } }}您一天中的流量就很大。
注意: 将小时/天/分钟存储在文档中是进行此类汇总的最有效方法。我的答案假设您不想存储该信息。脚本通常效率不高。



