es 按照时间分组 date_histogram

本文介绍了如何使用SQL以及Java实现Elasticsearch(ES)的按时间分组date_histogram操作。通过示例展示了如何查询指定时间范围内、删除标志为0的f_mid_order_details数据,并按月进行分组,统计每个组的流水数量和教育金额的总和。在Java实现部分,展示了如何获取并格式化bucket的文档计数和sum聚合值。
摘要由CSDN通过智能技术生成

按照时间分组

sql

http://ip:9200/_sql?sql=select count(cf.serial_no.raw),sum(cf.educate_amount) from f_mid_order_details where cf.create_time>=‘2020-01-01 00:00:00’ and cf.delete_flag=0 GROUP BY (date_histogram(‘format’=‘yyyy-MM’, ‘alias’=’@timestampAggs’, ‘interval’=‘1M’, ‘field’=‘cf.create_time’))

java实现

 SearchRequestBuilder requestBuilder = eS2ExcellUtilExport.initEsClient().prepareSearch("f_mid_order_details").setSearchType(SearchType.QUERY_THEN_FETCH);
    BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
    String format = "yyyy-MM";

    //间隔 年类型较为特殊
    DateHistogramInterval interval = DateHistogramInterval.MONTH;
    //dateHistogram
    AggregationBuilder aggregationBuilder = AggregationBuilders.dateHistogram("dateHistogram")//自定义名称
            .dateHistogramInterval(interval)//设置间隔
            .minDocCount(0)/
Date Histogram是一个在Elasticsearch中使用的聚合方法,用于按照时间间隔对日期进行分组和计数。它类似于Histogram,但是支持日期表达式作为区间。 Date Histogram的用法相对于Histogram来说更加灵活,可以根据指定的日期表达式来对时间进行分组。例如,你可以将间隔(interval)指定为一个月,它会智能地知道2月比12月要短,并且还能根据时区进行定制,以便根据用户的时区来生成图形,而不是根据服务器的时区。 通常的Histogram桶也可以处理日期,但是它不具备自动识别日期并根据日期的特性进行处理的能力。而Date Histogram可以根据指定的时间间隔自动识别日期,并且能够合理地处理时区,这样就可以根据客户端的时区来进行图表的定制。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [date_histogram](https://blog.csdn.net/opera95/article/details/78614244)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [[Elasticsearch] 聚合 - 时间数据处理(Looking at Time)](https://blog.csdn.net/dm_vincent/article/details/42594043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值