在进行ES聚合分析的时候,发现了一个非常有用的函数,extended_stats,可以对聚合的结果进行更近一步的分析 ,常见的 count sum avg  min max 等都可以一目了然

GET cars/transactions/_search
{
  "size": 0,
  "aggs": {
    "makes": {
      "terms": {
        "field": "make",
        "size": 10
      },
      "aggs": {
        "stats": {
          "extended_stats": {
            "field": "price"
          }
        }
      }
    }
  }
}

结果如下

 1 {
 2   "took": 87,
 3   "timed_out": false,
 4   "_shards": {
 5     "total": 5,
 6     "successful": 5,
 7     "failed": 0
 8   },
 9   "hits": {
10     "total": 8,
11     "max_score": 0,
12     "hits": []
13   },
14   "aggregations": {
15     "makes": {
16       "doc_count_error_upper_bound": 0,
17       "sum_other_doc_count": 0,
18       "buckets": [
19         {
20           "key": "honda",
21           "doc_count": 3,
22           "stats": {
23             "count": 3,
24             "min": 10000,
25             "max": 20000,
26             "avg": 16666.666666666668,
27             "sum": 50000,
28             "sum_of_squares": 900000000,
29             "variance": 22222222.22222221,
30             "std_deviation": 4714.045207910315,
31             "std_deviation_bounds": {
32               "upper": 26094.757082487296,
33               "lower": 7238.5762508460375
34             }
35           }
36         },
37         {
38           "key": "ford",
39           "doc_count": 2,
40           "stats": {
41             "count": 2,
42             "min": 25000,
43             "max": 30000,
44             "avg": 27500,
45             "sum": 55000,
46             "sum_of_squares": 1525000000,
47             "variance": 6250000,
48             "std_deviation": 2500,
49             "std_deviation_bounds": {
50               "upper": 32500,
51               "lower": 22500
52             }
53           }
54         },
55         {
56           "key": "toyota",
57           "doc_count": 2,
58           "stats": {
59             "count": 2,
60             "min": 12000,
61             "max": 15000,
62             "avg": 13500,
63             "sum": 27000,
64             "sum_of_squares": 369000000,
65             "variance": 2250000,
66             "std_deviation": 1500,
67             "std_deviation_bounds": {
68               "upper": 16500,
69               "lower": 10500
70             }
71           }
72         },
73         {
74           "key": "bmw",
75           "doc_count": 1,
76           "stats": {
77             "count": 1,
78             "min": 80000,
79             "max": 80000,
80             "avg": 80000,
81             "sum": 80000,
82             "sum_of_squares": 6400000000,
83             "variance": 0,
84             "std_deviation": 0,
85             "std_deviation_bounds": {
86               "upper": 80000,
87               "lower": 80000
88             }
89           }
90         }
91       ]
92     }
93   }
94 }
02-10 06:48