significantterms-aggregation.asciidoc 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. [[java-aggs-bucket-significantterms]]
  2. ==== Significant Terms Aggregation
  3. Here is how you can use
  4. {ref}/search-aggregations-bucket-significantterms-aggregation.html[Significant Terms Aggregation]
  5. with Java API.
  6. ===== Prepare aggregation request
  7. Here is an example on how to create the aggregation request:
  8. [source,java]
  9. --------------------------------------------------
  10. AggregationBuilder aggregation =
  11. AggregationBuilders
  12. .significantTerms("significant_countries")
  13. .field("address.country");
  14. // Let say you search for men only
  15. SearchResponse sr = client.prepareSearch()
  16. .setQuery(QueryBuilders.termQuery("gender", "male"))
  17. .addAggregation(aggregation)
  18. .get();
  19. --------------------------------------------------
  20. ===== Use aggregation response
  21. Import Aggregation definition classes:
  22. [source,java]
  23. --------------------------------------------------
  24. import org.elasticsearch.search.aggregations.bucket.significant.SignificantTerms;
  25. --------------------------------------------------
  26. [source,java]
  27. --------------------------------------------------
  28. // sr is here your SearchResponse object
  29. SignificantTerms agg = sr.getAggregations().get("significant_countries");
  30. // For each entry
  31. for (SignificantTerms.Bucket entry : agg.getBuckets()) {
  32. entry.getKey(); // Term
  33. entry.getDocCount(); // Doc count
  34. }
  35. --------------------------------------------------