private void processSum(Sum aggregation) { getOrCreateFacet(aggregation.getName()).put(TOTAL, Math.round(aggregation.getValue())); }
private void processSubAggregations(HasAggregations aggregation) { if (Filter.class.isAssignableFrom(aggregation.getClass())) { Filter filter = (Filter) aggregation; if (filter.getName().startsWith(NO_DATA_PREFIX)) { LinkedHashMap<String, Long> facet = getOrCreateFacet(filter.getName().replaceFirst(NO_DATA_PREFIX,"")); facet.put("NO_DATA", ((Filter) aggregation).getDocCount()); } } for (Aggregation sub : aggregation.getAggregations()) { processAggregation(sub); } }
private void processMultiBucketAggregation(MultiBucketsAggregation aggregation) { LinkedHashMap<String, Long> facet = getOrCreateFacet(aggregation.getName()); aggregation.getBuckets().forEach(bucket -> facet.put(bucket.getKeyAsString(), bucket.getDocCount())); }
private void processTermsAggregation(Terms aggregation) { String facetName = aggregation.getName(); // TODO document this naming convention if (facetName.contains("__") && !facetName.startsWith("__")) { facetName = facetName.substring(0, facetName.indexOf("__")); } facetName = facetName.replace("_selected", ""); LinkedHashMap<String, Long> facet = getOrCreateFacet(facetName); for (Terms.Bucket value : aggregation.getBuckets()) { List<Aggregation> aggregationList = value.getAggregations().asList(); if (aggregationList.size() == 1) { facet.put(value.getKeyAsString(), Math.round(((Sum) aggregationList.get(0)).getValue())); } else { facet.put(value.getKeyAsString(), value.getDocCount()); } } }
private void processMissingAggregation(Missing aggregation) { long docCount = aggregation.getDocCount(); if (docCount > 0L) { LinkedHashMap<String, Long> facet = getOrCreateFacet(aggregation.getName().replace("_missing", "")); if (aggregation.getAggregations().getAsMap().containsKey(FACET_MODE_EFFORT)) { facet.put("", Math.round(((Sum) aggregation.getAggregations().get(FACET_MODE_EFFORT)).getValue())); } else { facet.put("", docCount); } } }
private void processDateHistogram(Histogram aggregation) { LinkedHashMap<String, Long> facet = getOrCreateFacet(aggregation.getName()); for (Histogram.Bucket value : aggregation.getBuckets()) { String day = dateTimeToDate(value.getKeyAsString(), timeZone); if (value.getAggregations().getAsMap().containsKey(FACET_MODE_EFFORT)) { facet.put(day, Math.round(((Sum) value.getAggregations().get(FACET_MODE_EFFORT)).getValue())); } else { facet.put(day, value.getDocCount()); } } }
private void processSum(Sum aggregation) { getOrCreateFacet(aggregation.getName()).put(TOTAL, Math.round(aggregation.getValue())); }
private void processSubAggregations(HasAggregations aggregation) { if (Filter.class.isAssignableFrom(aggregation.getClass())) { Filter filter = (Filter) aggregation; if (filter.getName().startsWith(NO_DATA_PREFIX)) { LinkedHashMap<String, Long> facet = getOrCreateFacet(filter.getName().replaceFirst(NO_DATA_PREFIX,"")); facet.put("NO_DATA", ((Filter) aggregation).getDocCount()); } } for (Aggregation sub : aggregation.getAggregations()) { processAggregation(sub); } }
private void processMultiBucketAggregation(MultiBucketsAggregation aggregation) { LinkedHashMap<String, Long> facet = getOrCreateFacet(aggregation.getName()); aggregation.getBuckets().forEach(bucket -> facet.put(bucket.getKeyAsString(), bucket.getDocCount())); }
private void processTermsAggregation(Terms aggregation) { String facetName = aggregation.getName(); // TODO document this naming convention if (facetName.contains("__") && !facetName.startsWith("__")) { facetName = facetName.substring(0, facetName.indexOf("__")); } facetName = facetName.replace("_selected", ""); LinkedHashMap<String, Long> facet = getOrCreateFacet(facetName); for (Terms.Bucket value : aggregation.getBuckets()) { List<Aggregation> aggregationList = value.getAggregations().asList(); if (aggregationList.size() == 1) { facet.put(value.getKeyAsString(), Math.round(((Sum) aggregationList.get(0)).getValue())); } else { facet.put(value.getKeyAsString(), value.getDocCount()); } } }
private void processMissingAggregation(Missing aggregation) { long docCount = aggregation.getDocCount(); if (docCount > 0L) { LinkedHashMap<String, Long> facet = getOrCreateFacet(aggregation.getName().replace("_missing", "")); if (aggregation.getAggregations().getAsMap().containsKey(FACET_MODE_EFFORT)) { facet.put("", Math.round(((Sum) aggregation.getAggregations().get(FACET_MODE_EFFORT)).getValue())); } else { facet.put("", docCount); } } }
private void processDateHistogram(Histogram aggregation) { LinkedHashMap<String, Long> facet = getOrCreateFacet(aggregation.getName()); for (Histogram.Bucket value : aggregation.getBuckets()) { String day = dateTimeToDate(value.getKeyAsString(), timeZone); if (value.getAggregations().getAsMap().containsKey(FACET_MODE_EFFORT)) { facet.put(day, Math.round(((Sum) value.getAggregations().get(FACET_MODE_EFFORT)).getValue())); } else { facet.put(day, value.getDocCount()); } } }