/** * Get AggregationBuilder to calculate sum, avg and doc count for given classifier. * @param classifierName Name of classifier * @return AggregationBuilder with required configuration */ private static TermsBuilder getClassifierAggregationBuilder(String classifierName) { String probabilityField = classifierName + "_probability"; return AggregationBuilders.terms("by_class").field(classifierName) .subAggregation( AggregationBuilders.avg("avg_probability").field(probabilityField) ) .subAggregation( AggregationBuilders.sum("sum_probability").field(probabilityField) ); }
return addFieldToAgg(field, builder); case "AVG": builder = AggregationBuilders.avg(field.getAlias()); return addFieldToAgg(field, builder); case "STATS":
break; case Expression.AVG: aggregationBuilder = AggregationBuilders.avg(function.toParsedText()).field(jPAColumnName); break; case Expression.COUNT:
private AbstractAggregationBuilder parseStatsAggregation(SQLAggregateExpr aggExpr, String fieldName) { ElasticSqlMethodInvokeHelper.checkStatAggMethod(aggExpr); String methodName = aggExpr.getMethodName(); if (ElasticSqlMethodInvokeHelper.AGG_MIN_METHOD.equalsIgnoreCase(methodName)) { return AggregationBuilders.min(String.format("%s_%s", ElasticSqlMethodInvokeHelper.AGG_MIN_METHOD, fieldName)).field(fieldName); } if (ElasticSqlMethodInvokeHelper.AGG_MAX_METHOD.equalsIgnoreCase(methodName)) { return AggregationBuilders.max(String.format("%s_%s", ElasticSqlMethodInvokeHelper.AGG_MAX_METHOD, fieldName)).field(fieldName); } if (ElasticSqlMethodInvokeHelper.AGG_AVG_METHOD.equalsIgnoreCase(methodName)) { return AggregationBuilders.avg(String.format("%s_%s", ElasticSqlMethodInvokeHelper.AGG_AVG_METHOD, fieldName)).field(fieldName); } if (ElasticSqlMethodInvokeHelper.AGG_SUM_METHOD.equalsIgnoreCase(methodName)) { return AggregationBuilders.sum(String.format("%s_%s", ElasticSqlMethodInvokeHelper.AGG_SUM_METHOD, fieldName)).field(fieldName); } throw new ElasticSql2DslException(String.format("[syntax error] UnSupport agg method call[%s]", methodName)); } }
.subAggregation(AggregationBuilders.dateHistogram("product_group_by_created_date_time").field("created_date_time") .dateHistogramInterval(DateHistogramInterval.YEAR) .subAggregation(AggregationBuilders.avg("product_avg_price").field("price"))) ).execute().actionGet();
AggregationBuilder agg = null; if(metric.getOp() == Operation.AVG) { agg = AggregationBuilders.avg(metric.getAggName()); } else if(addCount && metric.getOp() == Operation.COUNT) { agg = AggregationBuilders.count(metric.getAggName());
/** * Creates an AggregationBuilder for the supplied type */ public AggregationBuilder toBuilder(String type) { switch (type) { case AGG_CARDINALITY: return AggregationBuilders.cardinality(getId()).field(getField()); case AGG_COUNT: return AggregationBuilders.count(getId()).field(getField()); case AGG_SUM: return AggregationBuilders.sum(getId()).field(getField()); case AGG_AVG: return AggregationBuilders.avg(getId()).field(getField()); case AGG_MAX: return AggregationBuilders.max(getId()).field(getField()); case AGG_MIN: return AggregationBuilders.min(getId()).field(getField()); default: throw new IllegalArgumentException("Unknown aggregate type: " + type); } }
return addFieldToAgg(field, builder); case "AVG": builder = AggregationBuilders.avg(field.getAlias()); return addFieldToAgg(field, builder); case "STATS":
break; case Expression.AVG: aggregationBuilder = AggregationBuilders.avg(function.toParsedText()).field(jPAColumnName); break; case Expression.COUNT:
builder.aggregation(AggregationBuilders.avg(randomAlphaOfLengthBetween(5, 20)));