1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- [[java-aggs-bucket-significantterms]]
- ==== Significant Terms Aggregation
- Here is how you can use
- {ref}/search-aggregations-bucket-significantterms-aggregation.html[Significant Terms Aggregation]
- with Java API.
- ===== Prepare aggregation request
- Here is an example on how to create the aggregation request:
- [source,java]
- --------------------------------------------------
- AggregationBuilder aggregation =
- AggregationBuilders
- .significantTerms("significant_countries")
- .field("address.country");
- // Let say you search for men only
- SearchResponse sr = client.prepareSearch()
- .setQuery(QueryBuilders.termQuery("gender", "male"))
- .addAggregation(aggregation)
- .get();
- --------------------------------------------------
- ===== Use aggregation response
- Import Aggregation definition classes:
- [source,java]
- --------------------------------------------------
- import org.elasticsearch.search.aggregations.bucket.significant.SignificantTerms;
- --------------------------------------------------
- [source,java]
- --------------------------------------------------
- // sr is here your SearchResponse object
- SignificantTerms agg = sr.getAggregations().get("significant_countries");
- // For each entry
- for (SignificantTerms.Bucket entry : agg.getBuckets()) {
- entry.getKey(); // Term
- entry.getDocCount(); // Doc count
- }
- --------------------------------------------------
|