private Map<Object, Long> histogramBucketToMap(Iterable<HistogramBucket> buckets) { Map<Object, Long> results = new HashMap<>(); for (HistogramBucket b : buckets) { results.put(b.getKey(), b.getCount()); } return results; }
private Map<Object, Long> histogramBucketToMap(Iterable<HistogramBucket> buckets) { Map<Object, Long> results = new HashMap<>(); for (HistogramBucket b : buckets) { results.put(b.getKey(), b.getCount()); } return results; }
private ClientApiSearchResponse.AggregateResult toClientApiHistogramResult(HistogramResult agg) { DateFormat bucketDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); ClientApiSearchResponse.HistogramAggregateResult result = new ClientApiSearchResponse.HistogramAggregateResult(); for (HistogramBucket histogramBucket : agg.getBuckets()) { ClientApiSearchResponse.HistogramAggregateResult.Bucket b = new ClientApiSearchResponse.HistogramAggregateResult.Bucket( histogramBucket.getCount(), toClientApiNestedResults(histogramBucket.getNestedResults()) ); String key = histogramBucket.getKey().toString(); if (DATE_TIME_PATTERN.matcher(key).matches()) { try { Date date = bucketDateFormat.parse(key); if (date != null) { key = String.valueOf(date.getTime()); } } catch (ParseException pe) { LOGGER.warn("Unable to parse histogram date", pe); } } result.getBuckets().put(key, b); } return result; }
assertEquals(3, bucket.getCount()); HistogramResult nestedResult = (HistogramResult) bucket.getNestedResults().get("aggNested"); assertEquals(2, nestedResult.getBucketByKey(10).getCount()); assertEquals(1, nestedResult.getBucketByKey(12).getCount()); assertEquals(1, bucket.getCount()); nestedResult = (HistogramResult) bucket.getNestedResults().get("aggNested"); assertEquals(1, nestedResult.getBucketByKey(10).getCount());
assertEquals(3, bucket.getCount()); HistogramResult nestedResult = (HistogramResult) bucket.getNestedResults().get("aggNested"); assertEquals(2, nestedResult.getBucketByKey(10).getCount()); assertEquals(1, nestedResult.getBucketByKey(12).getCount()); assertEquals(1, bucket.getCount()); nestedResult = (HistogramResult) bucket.getNestedResults().get("aggNested"); assertEquals(1, nestedResult.getBucketByKey(10).getCount());
assertEquals(2, aggResult.getBucketByKey(10).getCount()); assertEquals(4, aggResult.getBucketByKey(12).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.SUNDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MONDAY).getCount()); assertEquals(2, aggResult.getBucketByKey(Calendar.WEDNESDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.FRIDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.SATURDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(24).getCount()); assertEquals(1, aggResult.getBucketByKey(25).getCount()); assertEquals(1, aggResult.getBucketByKey(26).getCount()); assertEquals(2, aggResult.getBucketByKey(27).getCount()); assertEquals(1, aggResult.getBucketByKey(30).getCount()); assertEquals(5, aggResult.getBucketByKey(Calendar.APRIL).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MAY).getCount()); assertEquals(5, aggResult.getBucketByKey(2016).getCount()); assertEquals(1, aggResult.getBucketByKey(2017).getCount()); if (isPainlessDateMath()) { assertEquals(3, count(aggResult.getBuckets())); assertEquals(1, aggResult.getBucketByKey(16).getCount()); assertEquals(4, aggResult.getBucketByKey(17).getCount()); assertEquals(1, aggResult.getBucketByKey(21).getCount()); } else { assertEquals(2, count(aggResult.getBuckets())); assertEquals(5, aggResult.getBucketByKey(18).getCount());
assertEquals(2, aggResult.getBucketByKey(10).getCount()); assertEquals(4, aggResult.getBucketByKey(12).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.SUNDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MONDAY).getCount()); assertEquals(2, aggResult.getBucketByKey(Calendar.WEDNESDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.FRIDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.SATURDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(24).getCount()); assertEquals(1, aggResult.getBucketByKey(25).getCount()); assertEquals(1, aggResult.getBucketByKey(26).getCount()); assertEquals(2, aggResult.getBucketByKey(27).getCount()); assertEquals(1, aggResult.getBucketByKey(30).getCount()); assertEquals(5, aggResult.getBucketByKey(Calendar.APRIL).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MAY).getCount()); assertEquals(5, aggResult.getBucketByKey(2016).getCount()); assertEquals(1, aggResult.getBucketByKey(2017).getCount()); if (isPainlessDateMath()) { assertEquals(3, count(aggResult.getBuckets())); assertEquals(1, aggResult.getBucketByKey(16).getCount()); assertEquals(4, aggResult.getBucketByKey(17).getCount()); assertEquals(1, aggResult.getBucketByKey(21).getCount()); } else { assertEquals(2, count(aggResult.getBuckets())); assertEquals(5, aggResult.getBucketByKey(18).getCount());