前一篇文章中分享了按日期聚合和按关键字聚类的方法,可以查询一段时期的所有数据中,每一天有多少数据,每一个类别有多少数据。但是实际应用之中,业务场景往往更加复杂,一般情况这种聚合都是不够的,例如需要看某一天某种类的销售数据,某个类别下所有所选日期的数据,这就需要在之前聚类的基础上进行二次聚类。另外推荐大家一个软件,postman,可以利用这个软件直接写json,模拟真实的http/https请求环境。
一、按聚类目标再次聚类AggrAggr
public static JsonObject aggrAggr(String host, String index, String type, String query, String timeField, long startAt, long endAt, String aggr1, String aggr2) {
Map
timeRange = new HashMap
();
timeRange.put("gte", startAt);
timeRange.put("lte", endAt);
timeRange.put("format", "epoch_millis");
Map
extendedBounds = new HashMap
();
extendedBounds.put("min", startAt);
extendedBounds.put("max", endAt);
Map