2014-05-15 06:36:05 -04:00
|
|
|
[[java-aggs-bucket-histogram]]
|
|
|
|
==== Histogram Aggregation
|
|
|
|
|
|
|
|
Here is how you can use
|
|
|
|
{ref}/search-aggregations-bucket-histogram-aggregation.html[Histogram Aggregation]
|
|
|
|
with Java API.
|
|
|
|
|
|
|
|
|
|
|
|
===== Prepare aggregation request
|
|
|
|
|
|
|
|
Here is an example on how to create the aggregation request:
|
|
|
|
|
|
|
|
[source,java]
|
|
|
|
--------------------------------------------------
|
|
|
|
AggregationBuilder aggregation =
|
|
|
|
AggregationBuilders
|
|
|
|
.histogram("agg")
|
|
|
|
.field("height")
|
|
|
|
.interval(1);
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
===== Use aggregation response
|
|
|
|
|
|
|
|
Import Aggregation definition classes:
|
|
|
|
|
|
|
|
[source,java]
|
|
|
|
--------------------------------------------------
|
|
|
|
import org.elasticsearch.search.aggregations.bucket.histogram.Histogram;
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
[source,java]
|
|
|
|
--------------------------------------------------
|
|
|
|
// sr is here your SearchResponse object
|
|
|
|
Histogram agg = sr.getAggregations().get("agg");
|
|
|
|
|
|
|
|
// For each entry
|
|
|
|
for (Histogram.Bucket entry : agg.getBuckets()) {
|
2015-03-05 05:56:13 -05:00
|
|
|
Number key = (Number) entry.getKey(); // Key
|
|
|
|
String keyAsString = entry.getKeyAsString(); // Key As String
|
|
|
|
long docCount = entry.getDocCount(); // Doc count
|
2014-05-15 06:36:05 -04:00
|
|
|
}
|
|
|
|
--------------------------------------------------
|