| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | [[java-aggs-bucket-range]]==== Range AggregationHere is how you can use{ref}/search-aggregations-bucket-range-aggregation.html[Range Aggregation]with Java API.===== Prepare aggregation requestHere is an example on how to create the aggregation request:[source,java]--------------------------------------------------AggregationBuilder aggregation =        AggregationBuilders                .range("agg")                .field("height")                .addUnboundedTo(1.0f)               // from -infinity to 1.0 (excluded)                .addRange(1.0f, 1.5f)               // from 1.0 to 1.5 (excluded)                .addUnboundedFrom(1.5f);            // from 1.5 to +infinity--------------------------------------------------===== Use aggregation responseImport Aggregation definition classes:[source,java]--------------------------------------------------import org.elasticsearch.search.aggregations.bucket.range.Range;--------------------------------------------------[source,java]--------------------------------------------------// sr is here your SearchResponse objectRange agg = sr.getAggregations().get("agg");// For each entryfor (Range.Bucket entry : agg.getBuckets()) {    String key = entry.getKeyAsString();             // Range as key    Number from = (Number) entry.getFrom();          // Bucket from    Number to = (Number) entry.getTo();              // Bucket to    long docCount = entry.getDocCount();    // Doc count    logger.info("key [{}], from [{}], to [{}], doc_count [{}]", key, from, to, docCount);}--------------------------------------------------This will basically produce for the first example:[source,text]--------------------------------------------------key [*-1.0], from [-Infinity], to [1.0], doc_count [9]key [1.0-1.5], from [1.0], to [1.5], doc_count [21]key [1.5-*], from [1.5], to [Infinity], doc_count [20]--------------------------------------------------
 |