in core/src/main/java/org/apache/sdap/mudrod/weblog/pre/LogAbstract.java [163:200]
public Map<String, Long> getUserDailyDocs() {
int docCount = es.getDocCount(logIndex, httpType);
AggregationBuilder dailyAgg = AggregationBuilders
.dateHistogram("by_day")
.field("Time")
.dateHistogramInterval(DateHistogramInterval.DAY)
.order(Order.COUNT_DESC);
SearchResponse sr = es.getClient()
.prepareSearch(logIndex)
.setTypes(httpType)
.setQuery(QueryBuilders.matchAllQuery())
.setSize(0)
.addAggregation(AggregationBuilders.terms("Users")
.field("IP")
.size(docCount)
.subAggregation(dailyAgg))
.execute()
.actionGet();
Terms users = sr.getAggregations().get("Users");
Map<String, Long> userList = new HashMap<>();
for (Terms.Bucket user : users.getBuckets()) {
String ip = (String) user.getKey();
System.out.println(ip);
Histogram agg = user.getAggregations().get("by_day");
List<? extends Histogram.Bucket> dateList = agg.getBuckets();
for (Histogram.Bucket aDateList : dateList) {
Long count = aDateList.getDocCount();
String date = aDateList.getKey().toString();
System.out.println(date);
System.out.println(count);
}
}
return userList;
}