public SearchResult(SearchResponse resp, Select select) throws SqlParseException { Aggregations aggs = resp.getAggregations(); if (aggs.get("filter") != null) { InternalFilter inf = aggs.get("filter"); aggs = inf.getAggregations(); } if (aggs.get("group by") != null) { InternalTerms terms = aggs.get("group by"); Collection<Bucket> buckets = terms.getBuckets(); this.total = buckets.size(); results = new ArrayList<>(buckets.size()); for (Bucket bucket : buckets) { Map<String, Object> aggsMap = toAggsMap(bucket.getAggregations().getAsMap()); aggsMap.put("docCount", bucket.getDocCount()); results.add(aggsMap); } } else { results = new ArrayList<>(1); this.total = 1; Map<String, Object> map = new HashMap<>(); for (Aggregation aggregation : aggs) { map.put(aggregation.getName(), covenValue(aggregation)); } results.add(map); } }
/** * Directly write all the aggregations without their bounding object. Used by sub-aggregations (non top level aggs) */ public XContentBuilder toXContentInternal(XContentBuilder builder, Params params) throws IOException { for (Aggregation aggregation : aggregations) { aggregation.toXContent(builder, params); } return builder; }
List<Terms.Bucket> attrIds = ((LongTerms) ((InternalFilter)productAttrs.getProperty("productAttrs")).getAggregations().getProperty("attrIds")).getBuckets(); List<EsProductRelatedInfo.ProductAttr> attrList = new ArrayList<>(); for (Terms.Bucket attrId : attrIds) {
assertEquals(aggregation.getName(), agg.getName()); assertEquals(aggregation.getMetaData(), agg.getMetaData()); assertEquals(aggregation.getType(), agg.getType());
TopHits exactMatchTopHits = b.getAggregations().get(ElasticsearchSearchQueryBase.TOP_HITS_AGGREGATION_NAME); String mapKey = bucketKeyToString(b.getKey(), exactMatchTopHits); Map<String, Object> metadata = agg.getMetaData(); if (metadata != null) { Object fieldName = metadata.get(ElasticsearchSearchQueryBase.AGGREGATION_METADATA_FIELD_NAME_KEY);
TopHits exactMatchTopHits = b.getAggregations().get(ElasticsearchSearchQueryBase.TOP_HITS_AGGREGATION_NAME); String mapKey = bucketKeyToString(b.getKey(), exactMatchTopHits); Map<String, Object> metadata = agg.getMetaData(); if (metadata != null) { Object fieldName = metadata.get(ElasticsearchSearchQueryBase.AGGREGATION_METADATA_FIELD_NAME_KEY);
private void handleNumericMetricAggregation(List<String> header, List<String> line, Aggregation aggregation) throws CsvExtractorException { String name = aggregation.getName();
/** * Directly write all the aggregations without their bounding object. Used by sub-aggregations (non top level aggs) */ public XContentBuilder toXContentInternal(XContentBuilder builder, Params params) throws IOException { for (Aggregation aggregation : aggregations) { aggregation.toXContent(builder, params); } return builder; }
private void handleNumericMetricAggregation(List<String> header, List<Object> line, Aggregation aggregation) throws ObjectResultsExtractException { String name = aggregation.getName();
/** * Directly write all the aggregations without their bounding object. Used by sub-aggregations (non top level aggs) */ public XContentBuilder toXContentInternal(XContentBuilder builder, Params params) throws IOException { for (Aggregation aggregation : aggregations) { aggregation.toXContent(builder, params); } return builder; }
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> getAsMap() { if (aggregationsAsMap == null) { Map<String, Aggregation> newAggregationsAsMap = new HashMap<>(aggregations.size()); for (Aggregation aggregation : aggregations) { newAggregationsAsMap.put(aggregation.getName(), aggregation); } this.aggregationsAsMap = unmodifiableMap(newAggregationsAsMap); } return aggregationsAsMap; }
/** * Directly write all the aggregations without their bounding object. Used by sub-aggregations (non top level aggs) */ public XContentBuilder toXContentInternal(XContentBuilder builder, Params params) throws IOException { for (Aggregation aggregation : aggregations) { aggregation.toXContent(builder, params); } return builder; }
for (Aggregation aggregation : aggregations.aggregations) { List<InternalAggregation> aggs = aggByName.computeIfAbsent( aggregation.getName(), k -> new ArrayList<>(aggregationsList.size())); aggs.add((InternalAggregation)aggregation);
@Override public final InternalAggregation doReduce(Aggregations aggregations, ReduceContext context) { preCollection(); List<String> bucketsPath = AggregationPath.parse(bucketsPaths()[0]).getPathElementsAsStringList(); for (Aggregation aggregation : aggregations) { if (aggregation.getName().equals(bucketsPath.get(0))) { List<String> sublistedPath = bucketsPath.subList(1, bucketsPath.size()); InternalMultiBucketAggregation<?, ?> multiBucketsAgg = (InternalMultiBucketAggregation<?, ?>) aggregation; List<? extends InternalMultiBucketAggregation.InternalBucket> buckets = multiBucketsAgg.getBuckets(); for (InternalMultiBucketAggregation.InternalBucket bucket : buckets) { Double bucketValue = BucketHelpers.resolveBucketValue(multiBucketsAgg, bucket, sublistedPath, gapPolicy); if (bucketValue != null && !Double.isNaN(bucketValue)) { collectBucketValue(bucket.getKeyAsString(), bucketValue); } } } } return buildAggregation(Collections.emptyList(), metaData()); }
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> getAsMap() { if (aggregationsAsMap == null) { Map<String, Aggregation> newAggregationsAsMap = new HashMap<>(aggregations.size()); for (Aggregation aggregation : aggregations) { newAggregationsAsMap.put(aggregation.getName(), aggregation); } this.aggregationsAsMap = unmodifiableMap(newAggregationsAsMap); } return aggregationsAsMap; }
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> getAsMap() { if (aggregationsAsMap == null) { Map<String, Aggregation> newAggregationsAsMap = new HashMap<>(aggregations.size()); for (Aggregation aggregation : aggregations) { newAggregationsAsMap.put(aggregation.getName(), aggregation); } this.aggregationsAsMap = unmodifiableMap(newAggregationsAsMap); } return aggregationsAsMap; }
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> getAsMap() { if (aggregationsAsMap == null) { Map<String, Aggregation> newAggregationsAsMap = new HashMap<>(aggregations.size()); for (Aggregation aggregation : aggregations) { newAggregationsAsMap.put(aggregation.getName(), aggregation); } this.aggregationsAsMap = unmodifiableMap(newAggregationsAsMap); } return aggregationsAsMap; }
private static Map<String, List<Aggregation>> getAggregationResultsByName(ElasticsearchSearchQueryBase query, Iterable<Aggregation> aggs) { Map<String, List<Aggregation>> aggsByName = new HashMap<>(); if (aggs == null) { return aggsByName; } for (Aggregation agg : aggs) { if (agg.getName().equals(ElasticsearchSearchQueryBase.TOP_HITS_AGGREGATION_NAME)) { continue; } String aggName = query.getAggregationName(agg.getName()); List<Aggregation> l = aggsByName.computeIfAbsent(aggName, k -> new ArrayList<>()); l.add(agg); } return aggsByName; }
private static Map<String, List<Aggregation>> getAggregationResultsByName(ElasticSearchSingleDocumentSearchQueryBase query, Iterable<Aggregation> aggs) { Map<String, List<Aggregation>> aggsByName = new HashMap<>(); if (aggs == null) { return aggsByName; } for (Aggregation agg : aggs) { String aggName = query.getAggregationName(agg.getName()); List<Aggregation> l = aggsByName.computeIfAbsent(aggName, k -> new ArrayList<>()); l.add(agg); } return aggsByName; }
private static Map<String, List<Aggregation>> getAggregationResultsByName(ElasticsearchSearchQueryBase query, Iterable<Aggregation> aggs) { Map<String, List<Aggregation>> aggsByName = new HashMap<>(); if (aggs == null) { return aggsByName; } for (Aggregation agg : aggs) { String aggName = query.getAggregationName(agg.getName()); List<Aggregation> l = aggsByName.computeIfAbsent(aggName, k -> new ArrayList<>()); l.add(agg); } return aggsByName; }