From 4e4b9af429407f287c5ce5deb6f47421a605f557 Mon Sep 17 00:00:00 2001 From: zlt Date: Fri, 13 Mar 2020 15:08:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=A4=A9=E6=B5=81=E9=87=8F?= =?UTF-8?q?=E8=B6=8B=E5=8A=BF=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AggregationServiceImpl.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/AggregationServiceImpl.java b/zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/AggregationServiceImpl.java index 475294c..f6da0cb 100644 --- a/zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/AggregationServiceImpl.java +++ b/zlt-business/search-center/search-server/src/main/java/com/central/search/service/impl/AggregationServiceImpl.java @@ -126,6 +126,13 @@ public class AggregationServiceImpl implements IAggregationService { .cardinality("uv") .field("ip.keyword") ) + ) + .addAggregation( + //聚合查询7天内的数据 + AggregationBuilders + .dateRange("curr24Hour") + .field("timestamp") + .addRange(currDt.minusDays(1), currDt) .subAggregation( //聚合并且按小时分组查询当天内的数据 AggregationBuilders @@ -214,6 +221,7 @@ public class AggregationServiceImpl implements IAggregationService { Map result = new HashMap<>(15); if (aggregations != null) { setCurrDate(result, aggregations); + setCurr24Hour(result, aggregations); setCurrWeek(result, aggregations); setCurrMonth(result, aggregations); setTermsData(result, aggregations, "browser"); @@ -231,6 +239,13 @@ public class AggregationServiceImpl implements IAggregationService { Cardinality cardinality = bucket.getAggregations().get("uv"); result.put("currDate_pv", bucket.getDocCount()); result.put("currDate_uv", cardinality.getValue()); + } + /** + * 赋值周统计 + */ + private void setCurr24Hour(Map result, Aggregations aggregations) { + InternalDateRange curr24Hour = aggregations.get("curr24Hour"); + InternalDateRange.Bucket bucket = curr24Hour.getBuckets().get(0); //赋值天趋势统计 setStatDate(result, bucket.getAggregations()); } -- GitLab