2.X/4. Aggregations

4-02-3. One Final Modification

drscg 2017. 9. 24. 11:26

Just to drive the point home, let’s make one final modification to our example before moving on to new topics. Let’s add two metrics to calculate the min and max price for each make:

논점을 바꿔서, 새로운 주제로 가기 전에, 예제를 마지막으로 수정해 보자. 제조사 별로 최소, 최대 가격을 계산하는 2개의 metric을 추가해 보자.

GET /cars/transactions/_search
{
   "size" : 0,
   "aggs": {
      "colors": {
         "terms": {
            "field": "color"
         },
         "aggs": {
            "avg_price": { "avg": { "field": "price" }
            },
            "make" : {
                "terms" : {
                    "field" : "make"
                },
                "aggs" : { 
                    "min_price" : { "min": { "field": "price"} }, 
                    "max_price" : { "max": { "field": "price"} } 
                }
            }
         }
      }
   }
}

또 다른 중첩된 aggs 단계를 추가해야 한다.

그리고 min metric을 추가

그리고 max metric

Which gives us the following output (again, truncated):

이것은 다음과 같은 결과를 출력한다.

{
...
   "aggregations": {
      "colors": {
         "buckets": [
            {
               "key": "red",
               "doc_count": 4,
               "make": {
                  "buckets": [
                     {
                        "key": "honda",
                        "doc_count": 3,
                        "min_price": {
                           "value": 10000 
                        },
                        "max_price": {
                           "value": 20000 
                        }
                     },
                     {
                        "key": "bmw",
                        "doc_count": 1,
                        "min_price": {
                           "value": 80000
                        },
                        "max_price": {
                           "value": 80000
                        }
                     }
                  ]
               },
               "avg_price": {
                  "value": 32500
               }
            },
...

 

추가한 min 과 max metric은 각 make 아래에 나타난다.

With those two buckets, we have expanded the information derived from this query to include the following:

두 개의 bucket을 통해, 이 query에서 다음과 같은 정보를 더 알 수 있다.

  • There are four red cars.

    4 가지 색상의 자동차가 있다.

  • The average price of a red car is $32,500.

    붉은 자동차의 평균가는 $32,500 이다.

  • Three of the red cars are made by Honda, and one is a BMW.

    붉은 차 중 3 대는 Honda, 하나는 BMW이다.

  • The cheapest red Honda is $10,000.

    가장 싼 붉은 색의 Honda는 $10,000 이다.

  • The most expensive red Honda is $20,000.

    가장 비싼 붉은 색의 Honda는 $20,000 이다.


'2.X > 4. Aggregations' 카테고리의 다른 글

4-02-1. Adding a Metric to the Mix  (0) 2017.09.24
4-02-2. Buckets Inside Buckets  (0) 2017.09.24
4-03. Building Bar Charts  (0) 2017.09.24
4-04. Looking at Time  (0) 2017.09.24
4-04-1. Returning Empty Buckets  (0) 2017.09.24