Search in sources :

Example 1 with Range

use of org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range in project elasticsearch by elastic.

the class RangeTests method createTestAggregatorBuilder.

@Override
protected RangeAggregationBuilder createTestAggregatorBuilder() {
    int numRanges = randomIntBetween(1, 10);
    RangeAggregationBuilder factory = new RangeAggregationBuilder("foo");
    for (int i = 0; i < numRanges; i++) {
        String key = null;
        if (randomBoolean()) {
            key = randomAsciiOfLengthBetween(1, 20);
        }
        double from = randomBoolean() ? Double.NEGATIVE_INFINITY : randomIntBetween(Integer.MIN_VALUE, Integer.MAX_VALUE - 1000);
        double to = randomBoolean() ? Double.POSITIVE_INFINITY : (Double.isInfinite(from) ? randomIntBetween(Integer.MIN_VALUE, Integer.MAX_VALUE) : randomIntBetween((int) from, Integer.MAX_VALUE));
        if (randomBoolean()) {
            factory.addRange(new Range(key, from, to));
        } else {
            String fromAsStr = Double.isInfinite(from) ? null : String.valueOf(from);
            String toAsStr = Double.isInfinite(to) ? null : String.valueOf(to);
            factory.addRange(new Range(key, fromAsStr, toAsStr));
        }
    }
    factory.field(INT_FIELD_NAME);
    if (randomBoolean()) {
        factory.format("###.##");
    }
    if (randomBoolean()) {
        factory.keyed(randomBoolean());
    }
    if (randomBoolean()) {
        factory.missing(randomIntBetween(0, 10));
    }
    return factory;
}
Also used : Range(org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range) RangeAggregationBuilder(org.elasticsearch.search.aggregations.bucket.range.RangeAggregationBuilder)

Example 2 with Range

use of org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range in project elasticsearch by elastic.

the class DateRangeTests method createTestAggregatorBuilder.

@Override
protected DateRangeAggregationBuilder createTestAggregatorBuilder() {
    int numRanges = randomIntBetween(1, 10);
    DateRangeAggregationBuilder factory = new DateRangeAggregationBuilder("foo");
    for (int i = 0; i < numRanges; i++) {
        String key = null;
        if (randomBoolean()) {
            key = randomAsciiOfLengthBetween(1, 20);
        }
        double from = randomBoolean() ? Double.NEGATIVE_INFINITY : randomIntBetween(Integer.MIN_VALUE, Integer.MAX_VALUE - 1000);
        double to = randomBoolean() ? Double.POSITIVE_INFINITY : (Double.isInfinite(from) ? randomIntBetween(Integer.MIN_VALUE, Integer.MAX_VALUE) : randomIntBetween((int) from, Integer.MAX_VALUE));
        if (randomBoolean()) {
            factory.addRange(new Range(key, from, to));
        } else {
            String fromAsStr = Double.isInfinite(from) ? null : String.valueOf(from);
            String toAsStr = Double.isInfinite(to) ? null : String.valueOf(to);
            factory.addRange(new Range(key, fromAsStr, toAsStr));
        }
    }
    factory.field(INT_FIELD_NAME);
    if (randomBoolean()) {
        factory.format("###.##");
    }
    if (randomBoolean()) {
        factory.keyed(randomBoolean());
    }
    if (randomBoolean()) {
        factory.missing(randomIntBetween(0, 10));
    }
    if (randomBoolean()) {
        factory.timeZone(randomDateTimeZone());
    }
    return factory;
}
Also used : DateRangeAggregationBuilder(org.elasticsearch.search.aggregations.bucket.range.date.DateRangeAggregationBuilder) Range(org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range)

Example 3 with Range

use of org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range in project elasticsearch by elastic.

the class AbstractRangeBuilder method innerWriteTo.

@Override
protected void innerWriteTo(StreamOutput out) throws IOException {
    out.writeVInt(ranges.size());
    for (Range range : ranges) {
        range.writeTo(out);
    }
    out.writeBoolean(keyed);
}
Also used : Range(org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range)

Aggregations

Range (org.elasticsearch.search.aggregations.bucket.range.RangeAggregator.Range)3 RangeAggregationBuilder (org.elasticsearch.search.aggregations.bucket.range.RangeAggregationBuilder)1 DateRangeAggregationBuilder (org.elasticsearch.search.aggregations.bucket.range.date.DateRangeAggregationBuilder)1