private TermsResult getTermsAggregationResult(TermsAggregation agg, Iterator<T> it) { String propertyName = agg.getPropertyName(); Map<Object, List<T>> elementsByProperty = getElementsByProperty(it, propertyName, o -> o); elementsByProperty = collapseBucketsByCase(elementsByProperty); List<TermsBucket> buckets = new ArrayList<>(); for (Map.Entry<Object, List<T>> entry : elementsByProperty.entrySet()) { Object key = entry.getKey(); int count = entry.getValue().size(); Map<String, AggregationResult> nestedResults = getNestedResults(agg.getNestedAggregations(), entry.getValue()); buckets.add(new TermsBucket(key, count, nestedResults)); } return new TermsResult(buckets); }
private TermsResult getTermsAggregationResult(TermsAggregation agg, Iterator<T> it) { String propertyName = agg.getPropertyName(); Map<Object, List<T>> elementsByProperty = getElementsByProperty(it, propertyName, o -> o); elementsByProperty = collapseBucketsByCase(elementsByProperty); List<TermsBucket> buckets = new ArrayList<>(); for (Map.Entry<Object, List<T>> entry : elementsByProperty.entrySet()) { Object key = entry.getKey(); int count = entry.getValue().size(); Map<String, AggregationResult> nestedResults = getNestedResults(agg.getNestedAggregations(), entry.getValue()); buckets.add(new TermsBucket(key, count, nestedResults)); } return new TermsResult(buckets); }
protected List<AggregationBuilder> getElasticsearchTermsAggregations(TermsAggregation agg) { List<AggregationBuilder> termsAggs = new ArrayList<>(); String fieldName = agg.getPropertyName(); if (Edge.IN_OR_OUT_VERTEX_ID_PROPERTY_NAME.equals(fieldName)) { throw new VertexiumException("Cannot aggregate by: " + fieldName);
protected List<AggregationBuilder> getElasticsearchTermsAggregations(TermsAggregation agg) { List<AggregationBuilder> termsAggs = new ArrayList<>(); String fieldName = agg.getPropertyName(); if (Edge.IN_OR_OUT_VERTEX_ID_PROPERTY_NAME.equals(fieldName)) { throw new VertexiumException("Cannot aggregate by: " + fieldName);
protected List<AggregationBuilder> getElasticsearchTermsAggregations(TermsAggregation agg) { List<AggregationBuilder> termsAggs = new ArrayList<>(); String fieldName = agg.getPropertyName(); if (Edge.LABEL_PROPERTY_NAME.equals(fieldName)) { TermsBuilder termsAgg = AggregationBuilders.terms(createAggregationName(agg.getAggregationName(), "0"));
protected List<AggregationBuilder> getElasticsearchTermsAggregations(TermsAggregation agg) { List<AggregationBuilder> termsAggs = new ArrayList<>(); String fieldName = agg.getPropertyName(); if (Edge.LABEL_PROPERTY_NAME.equals(fieldName)) { TermsBuilder termsAgg = AggregationBuilders.terms(createAggregationName(agg.getAggregationName(), "0"));