public HistogramBucket getBucketByKey(Object key) { String keyStr = key.toString(); for (HistogramBucket histogramBucket : getBuckets()) { String bucketKey = histogramBucket.getKey().toString(); if (bucketKey.equals(keyStr)) { return histogramBucket; } } return null; } }
public HistogramBucket getBucketByKey(Object key) { String keyStr = key.toString(); for (HistogramBucket histogramBucket : getBuckets()) { String bucketKey = histogramBucket.getKey().toString(); if (bucketKey.equals(keyStr)) { return histogramBucket; } } return null; } }
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; }
private Map<Object, Long> queryGraphQueryWithHistogramAggregation( String propertyName, String interval, Long minDocCount, HistogramAggregation.ExtendedBounds extendedBounds, Authorizations authorizations ) { Query q = graph.query(authorizations).limit(0); HistogramAggregation agg = new HistogramAggregation("hist-count", propertyName, interval, minDocCount); agg.setExtendedBounds(extendedBounds); if (!q.isAggregationSupported(agg)) { LOGGER.warn("%s unsupported", HistogramAggregation.class.getName()); return null; } q.addAggregation(agg); return histogramBucketToMap(q.vertices().getAggregationResult("hist-count", HistogramResult.class).getBuckets()); }
private Map<Object, Long> queryGraphQueryWithHistogramAggregation( String propertyName, String interval, Long minDocCount, HistogramAggregation.ExtendedBounds extendedBounds, Authorizations authorizations ) { Query q = graph.query(authorizations).limit(0); HistogramAggregation agg = new HistogramAggregation("hist-count", propertyName, interval, minDocCount); agg.setExtendedBounds(extendedBounds); if (!q.isAggregationSupported(agg)) { LOGGER.warn("%s unsupported", HistogramAggregation.class.getName()); return null; } q.addAggregation(agg); return histogramBucketToMap(q.vertices().getAggregationResult("hist-count", HistogramResult.class).getBuckets()); }
assertEquals(2, count(aggResult.getBuckets())); assertEquals(2, aggResult.getBucketByKey(10).getCount()); assertEquals(4, aggResult.getBucketByKey(12).getCount()); assertEquals(5, count(aggResult.getBuckets())); assertEquals(1, aggResult.getBucketByKey(Calendar.SUNDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MONDAY).getCount()); assertEquals(5, count(aggResult.getBuckets())); assertEquals(1, aggResult.getBucketByKey(24).getCount()); assertEquals(1, aggResult.getBucketByKey(25).getCount()); assertEquals(2, count(aggResult.getBuckets())); assertEquals(5, aggResult.getBucketByKey(Calendar.APRIL).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MAY).getCount()); assertEquals(2, count(aggResult.getBuckets())); assertEquals(5, aggResult.getBucketByKey(2016).getCount()); assertEquals(1, aggResult.getBucketByKey(2017).getCount()); 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(1, aggResult.getBucketByKey(21).getCount());
assertEquals(2, count(aggResult.getBuckets())); assertEquals(2, aggResult.getBucketByKey(10).getCount()); assertEquals(4, aggResult.getBucketByKey(12).getCount()); assertEquals(5, count(aggResult.getBuckets())); assertEquals(1, aggResult.getBucketByKey(Calendar.SUNDAY).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MONDAY).getCount()); assertEquals(5, count(aggResult.getBuckets())); assertEquals(1, aggResult.getBucketByKey(24).getCount()); assertEquals(1, aggResult.getBucketByKey(25).getCount()); assertEquals(2, count(aggResult.getBuckets())); assertEquals(5, aggResult.getBucketByKey(Calendar.APRIL).getCount()); assertEquals(1, aggResult.getBucketByKey(Calendar.MAY).getCount()); assertEquals(2, count(aggResult.getBuckets())); assertEquals(5, aggResult.getBucketByKey(2016).getCount()); assertEquals(1, aggResult.getBucketByKey(2017).getCount()); 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(1, aggResult.getBucketByKey(21).getCount());