private ValuesSourceAggregationBuilder dateRange(MethodField field) { String alias = gettAggNameFromParamsOrAlias(field); DateRangeAggregationBuilder dateRange = AggregationBuilders.dateRange(alias).format(TIME_FARMAT);
/** * Get AggregationBuilder using dateRange with proper limits from parameters. * @param fieldName Name of field to time restrict * @param fromDate Start date for restriction * @param toDate End date for restriction * @return AggregationBuilder with required configuration */ private static DateRangeBuilder getDateRangeAggregationBuilder(String fieldName, String fromDate, String toDate) { DateRangeBuilder dateRangeAggregation = AggregationBuilders.dateRange("by_date").field(fieldName); if (fromDate == null && toDate != null) { dateRangeAggregation = dateRangeAggregation.addUnboundedTo(toDate); } else if (toDate == null && fromDate != null) { dateRangeAggregation = dateRangeAggregation.addUnboundedFrom(fromDate); } else { dateRangeAggregation = dateRangeAggregation.addRange(fromDate, toDate); } return dateRangeAggregation; }
private ValuesSourceAggregationBuilder dateRange(MethodField field) { String alias = gettAggNameFromParamsOrAlias(field); DateRangeAggregationBuilder dateRange = AggregationBuilders.dateRange(alias).format(TIME_FARMAT);
private AbstractRangeBuilder createRangeBuilder(String rangeFieldName, List<RangeSegment> rangeSegments) { AbstractRangeBuilder rangeBuilder = null; RangeSegment.SegmentType segType = rangeSegments.get(0).getSegmentType(); if (segType == RangeSegment.SegmentType.Numeric) { RangeAggregationBuilder numericRangeBuilder = AggregationBuilders.range(AGG_BUCKET_KEY_PREFIX + rangeFieldName).field(rangeFieldName); for (RangeSegment segment : rangeSegments) { String key = String.format("%s-%s", segment.getFrom().toString(), segment.getTo().toString()); numericRangeBuilder.addRange(key, Double.valueOf(segment.getFrom().toString()), Double.valueOf(segment.getTo().toString())); } rangeBuilder = numericRangeBuilder; } if (segType == RangeSegment.SegmentType.Date) { DateRangeAggregationBuilder dateRangeBuilder = AggregationBuilders.dateRange(AGG_BUCKET_KEY_PREFIX + rangeFieldName).field(rangeFieldName); for (RangeSegment segment : rangeSegments) { DateTime fromDate = getDateRangeVal(segment.getFrom().toString()); DateTime toDate = getDateRangeVal(segment.getTo().toString()); String key = String.format("[%s]-[%s]", formatDateRangeAggKey(fromDate), formatDateRangeAggKey(toDate)); dateRangeBuilder.addRange(key, fromDate, toDate); } rangeBuilder = dateRangeBuilder; } return rangeBuilder; }
@JsonIgnore @Override public DateRangeAggregationBuilder getEsAggregate() { DateRangeAggregationBuilder ret = AggregationBuilders.dateRange(getId()).field(getField()); for (AggregateRangeDateDefinition range : getDateRanges()) { if (range.getFromAsString() != null) { if (range.getToAsString() != null) { ret.addRange(range.getKey(), range.getFromAsString(), range.getToAsString()); } else { ret.addUnboundedFrom(range.getKey(), range.getFromAsString()); } } else if (range.getToAsString() != null) { ret.addUnboundedTo(range.getKey(), range.getToAsString()); } } Map<String, String> props = getProperties(); if (props.containsKey(AGG_FORMAT_PROP)) { ret.format(props.get(AGG_FORMAT_PROP)); } return ret; }
private void applyFacets(SearchRequestBuilder srb) { for (Facet field : termFacets) { if (field instanceof DateFacet) { DateRangeAggregationBuilder rangeBuilder = AggregationBuilders.dateRange(field.getName()).field(field.getName()); for (DateRange range : ((DateFacet) field).getRanges()) { range.applyTo(rangeBuilder); } srb.addAggregation(rangeBuilder); } else { srb.addAggregation(AggregationBuilders.terms(field.getName()) .field(field.getName()) .size(termFacetLimit)); } } }
String aggName = createAggregationName(agg.getAggregationName(), visibilityHash); if (propertyDataType == Date.class) { DateRangeAggregationBuilder dateRangeBuilder = AggregationBuilders.dateRange(aggName); dateRangeBuilder.field(propertyName);
String aggName = createAggregationName(agg.getAggregationName(), visibilityHash); if (propertyDataType == Date.class) { DateRangeAggregationBuilder dateRangeBuilder = AggregationBuilders.dateRange(aggName); dateRangeBuilder.field(propertyName);
String aggName = createAggregationName(agg.getAggregationName(), visibilityHash); if (propertyDataType == Date.class) { DateRangeBuilder dateRangeBuilder = AggregationBuilders.dateRange(aggName); dateRangeBuilder.field(propertyName);
String aggName = createAggregationName(agg.getAggregationName(), visibilityHash); if (propertyDataType == Date.class) { DateRangeBuilder dateRangeBuilder = AggregationBuilders.dateRange(aggName); dateRangeBuilder.field(propertyName);