public Map getUserDailyDocs()

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;
  }