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()); } } }
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); } }
Map<String, Aggregation> aggregationMap = response.getAggregations().getAsMap();
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> asMap() { return getAsMap(); }
InternalAggregations internalAggs = ((InternalFilter) response.getAggregations().getAsMap() .get(ESConstants.AGGREGATION_NAME)).getAggregations();
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> asMap() { return getAsMap(); }
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> asMap() { return getAsMap(); }
/** * Returns the {@link Aggregation}s keyed by aggregation name. */ public final Map<String, Aggregation> asMap() { return getAsMap(); }
if (query.isAggregated() == true && response.getAggregations() != null) InternalAggregations internalAggs = ((InternalFilter) response.getAggregations().getAsMap() .get(ESConstants.AGGREGATION_NAME)).getAggregations();
/** * <p> * 根据names递归结果 * </p > * @author tudou * @date 2018/8/14 11:33 * @param searchResponse 聚合结果 * @param terms Term聚合字段列表 * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>> */ public static List<Map<String, Object>> termsResult(SearchResponse searchResponse, String... terms) { Map<String, Aggregation> map = searchResponse.getAggregations().getAsMap(); Map<String, Object> resultMap = new HashMap(); List<Map<String, Object>> list = new ArrayList<>(); return termsResult(map, Arrays.asList(terms), resultMap, true, list); }
/** * <p> * 简要说明 * </p > * @author tudou * @date 2018/8/14 11:34 * @param searchResponse 聚合结果 * @param terms Term聚合字段列表 * @param sumName Sum聚合的字段 * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>> */ public static List<Map<String, Object>> termsSumResult(SearchResponse searchResponse, List<String> terms, String sumName) { // searchResponse.getAggregations(). Map<String, Aggregation> map = searchResponse.getAggregations().getAsMap(); HashMap resultMap = new HashMap(); List<Map<String, Object>> list = new ArrayList<>(); return termsSumResult(map, terms, sumName, resultMap, true, list); }
/** * <p> * 数据重组到bean中 * </p > * @author tudou * @date 2018/8/14 11:31 * @param searchResponse 聚合结果 * @param t 包装类型 * @param terms Term聚合字段列表 * @return java.util.List<T> */ public static <T extends LogStat> List<T> termsResultBean(SearchResponse searchResponse, T t, String... terms) throws Exception { Map<String, Aggregation> map = searchResponse.getAggregations().getAsMap(); List<Method> methods = new ArrayList<>(); for (String name : terms) { Method method = t.getClass().getMethod(EcReflectionUtils.parSetName(name), String.class); methods.add(method); } Method method = t.getClass().getMethod(EcReflectionUtils.parSetName("count"), String.class); methods.add(method); return termsResultBean(map, methods, Arrays.asList(terms), t, true, new ArrayList<>()); }
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()); } } }
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); } }
InternalAggregations internalAggs = ((InternalFilter) response.getAggregations().getAsMap() .get(ESConstants.AGGREGATION_NAME)).getAggregations();
if (query.isAggregated() == true && response.getAggregations() != null) InternalAggregations internalAggs = ((InternalFilter) response.getAggregations().getAsMap() .get(ESConstants.AGGREGATION_NAME)).getAggregations();