聚合

聚合 常见三种类型 关键词【aggs】
桶聚合 : 按照文档字段进行分组

  • TermAggregation:按照字段分组
  • Date Histogram:按照日期阶梯分组,例如一周为一组,或者一月为一组

度量聚合 Metric:用来计算一些值

  • Avg:求平均值
  • Max:求最大值
  • Min:求最小值
  • Stats:同时求max、min、avg、sum等

管道聚合: 嵌套聚合

参加聚合的字段 必须是: keyword、日期、数值、布尔类型

格式:

  1. GET /hotel/_search
  2. {
  3. "size": 0, // 设置size0,结果中不包含文档,只包含聚合结果
  4. "aggs": { // 定义聚合
  5. "brandAgg": { //给聚合起个名字
  6. "terms": { // 聚合的类型,按照品牌值聚合,所以选择term
  7. "field": "brand", // 参与聚合的字段
  8. "size": 20 // 希望获取的聚合结果数量
  9. }
  10. }
  11. }
  12. }
  13. GET /hotel/_search
  14. {
  15. "size": 0,
  16. "aggs": {
  17. "brandaggs": {
  18. "terms": {//桶聚合类型
  19. "field": "brand",
  20. "size": 20
  21. },
  22. "aggs":{
  23. "score_stats":{
  24. "stats": {//度量聚合类型
  25. "field": "score"
  26. }
  27. }
  28. }
  29. }
  30. }
  31. }