您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Elasticsearch按时间划分的累计流量

使用Elasticsearch按时间划分的累计流量

在该线程中已经解决了同类问题。

为使解决方案适应您的问题,我们需要编写一个脚本以将日期转换为一天中的小时:

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)"
            }
        }
    }
}

您一天中的流量就很大。

将小时/天/分钟存储在文档中是进行此类汇总的最有效方法。我的答案假设您不想存储该信息。脚本通常效率不高。

其他 2022/1/1 18:16:00 有513人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶