分组语法

按照name分组统计

  1. {
  2. "size": 0,
  3. "query":{
  4. "match_all":{
  5. }
  6. },
  7. "aggs": {
  8. "nameGroup": {
  9. "terms": {
  10. "field": "name"
  11. }
  12. }
  13. }
  14. }

返回结果

  1. "aggregations": { -
  2. "nameGroup": { -
  3. "doc_count_error_upper_bound": 0,
  4. "sum_other_doc_count": 0,
  5. "buckets": [ -
  6. { -
  7. "key": "lisi",
  8. "doc_count": 1
  9. },
  10. { -
  11. "key": "zhangsan",
  12. "doc_count": 1
  13. }
  14. ]
  15. }
  16. }

执行后把name字段分组展示,doc_count是组对应的数量

函数统计

平均值

  1. {
  2. "size": 0,
  3. "query": {
  4. "match_all": {}
  5. },
  6. "aggs": {
  7. "ageAvg": {
  8. "avg": {
  9. "field": "age"
  10. }
  11. }
  12. }
  13. }

求和

  1. {
  2. "size": 0,
  3. "query": {
  4. "match_all": {}
  5. },
  6. "aggs": {
  7. "ageSum": {
  8. "sum": {
  9. "field": "age"
  10. }
  11. }
  12. }
  13. }

最大值

  1. {
  2. "size": 0,
  3. "query": {
  4. "match_all": {}
  5. },
  6. "aggs": {
  7. "ageMax": {
  8. "max": {
  9. "field": "age"
  10. }
  11. }
  12. }
  13. }

最小值

  1. {
  2. "size": 0,
  3. "query": {
  4. "match_all": {}
  5. },
  6. "aggs": {
  7. "ageMin": {
  8. "min": {
  9. "field": "age"
  10. }
  11. }
  12. }
  13. }