private AggregationBuilder wrapNestedIfNeeded(AggregationBuilder nestedBuilder, boolean reverseNested) { if (!reverseNested) return nestedBuilder; if (reverseNested && !(nestedBuilder instanceof NestedAggregationBuilder)) return nestedBuilder; //we need to jump back to root return AggregationBuilders.reverseNested(nestedBuilder.getName() + "_REVERSED").subAggregation(nestedBuilder); }
private AggregationBuilder createNestedAggregation(Field field) { AggregationBuilder nestedBuilder; String nestedPath = field.getNestedPath(); if (field.isReverseNested()) { if (nestedPath == null || !nestedPath.startsWith("~")) { ReverseNestedAggregationBuilder reverseNestedAggregationBuilder = AggregationBuilders.reverseNested(getNestedAggName(field)); if(nestedPath!=null){ reverseNestedAggregationBuilder.path(nestedPath); } return reverseNestedAggregationBuilder; } nestedPath = nestedPath.substring(1); } nestedBuilder = AggregationBuilders.nested(getNestedAggName(field),nestedPath); return nestedBuilder; }
nestedBuilder = AggregationBuilders.nested(nestedAggName,realPath); nestedBuilder = nestedBuilder.subAggregation(builder); return AggregationBuilders.reverseNested(nestedAggName + "_REVERSED").subAggregation(nestedBuilder); } else { ReverseNestedAggregationBuilder reverseNestedAggregationBuilder = AggregationBuilders.reverseNested(nestedAggName); if (nestedType.path!=null){ reverseNestedAggregationBuilder.path(nestedType.path);
private AggregationBuilder wrapNestedIfNeeded(AggregationBuilder nestedBuilder, boolean reverseNested) { if (!reverseNested) return nestedBuilder; if (reverseNested && !(nestedBuilder instanceof NestedAggregationBuilder)) return nestedBuilder; //we need to jump back to root return AggregationBuilders.reverseNested(nestedBuilder.getName() + "_REVERSED").subAggregation(nestedBuilder); }
private AggregationBuilder createNestedAggregation(Field field) { AggregationBuilder nestedBuilder; String nestedPath = field.getNestedPath(); if (field.isReverseNested()) { if (nestedPath == null || !nestedPath.startsWith("~")) { ReverseNestedAggregationBuilder reverseNestedAggregationBuilder = AggregationBuilders.reverseNested(getNestedAggName(field)); if(nestedPath!=null){ reverseNestedAggregationBuilder.path(nestedPath); } return reverseNestedAggregationBuilder; } nestedPath = nestedPath.substring(1); } nestedBuilder = AggregationBuilders.nested(getNestedAggName(field),nestedPath); return nestedBuilder; }
nestedBuilder = AggregationBuilders.nested(nestedAggName,realPath); nestedBuilder = nestedBuilder.subAggregation(builder); return AggregationBuilders.reverseNested(nestedAggName + "_REVERSED").subAggregation(nestedBuilder); } else { ReverseNestedAggregationBuilder reverseNestedAggregationBuilder = AggregationBuilders.reverseNested(nestedAggName); if (nestedType.path!=null){ reverseNestedAggregationBuilder.path(nestedType.path);
.size(criteria.getObjectID().size()) .subAggregation(reverseNested(REVERSED_FACTS_AGGREGATION_NAME)