Using Aggregations

下面的代码演示了如何在搜索中添加两个聚合:

聚合框架有助于根据搜索查询提供聚合数据。它是基于简单的构建块也称为整合,整合就是将复杂的数据摘要有序的放在一块。

聚合可以被看做是从一组文件中获取分析信息的一系列工作的统称。聚合的实现过程就是定义这个文档集的过程(例如,在搜索请求的基础上,执行查询/过滤,才能得到高水平的聚合结果)。

  1. SearchResponse sr = client.prepareSearch()
  2. .setQuery(QueryBuilders.matchAllQuery())
  3. .addAggregation(
  4. AggregationBuilders.terms("agg1").field("field")
  5. )
  6. .addAggregation(
  7. AggregationBuilders.dateHistogram("agg2")
  8. .field("birth")
  9. .dateHistogramInterval(DateHistogramInterval.YEAR)
  10. )
  11. .get();
  12. // Get your facet results
  13. Terms agg1 = sr.getAggregations().get("agg1");
  14. Histogram agg2 = sr.getAggregations().get("agg2");

详细文档请看 Aggregations Java API