ElasticSearch 학습 노트의 26 중첩 통 집합

5729 단어

ElasticSearch 학습 노트의 26 중첩 통 집합

  • Nested Aggregation

  • Nested Aggregation(내포된 집합)


    Nested Aggregation은 중첩된 객체 문서를 집합할 수 있는 단일 그룹 집합입니다.
    예를 들어 우리는 하나의 제품의 색인을 가지고 있는데, 각 제품은 서로 다른 대리판매상과 서로 다른 가격을 가지고 있다.매핑은 다음과 같습니다.
    PUT /index
    {
      "mappings": {
        "product" : {
            "properties" : {
                "resellers" : { 
                    "type" : "nested",
                    "properties" : {
                        "name" : { "type" : "text" },
                        "price" : { "type" : "double" }
                    }
                }
            }
        }
      }
    }
    

    제품 루트 대상에는 중첩된 그룹 대상resellers가 있습니다.아래의 집합은 제품의 최저 가격을 되돌려줍니다.
    GET /_search
    {
        "query" : {
            "match" : { "name" : "led tv" }
        },
        "aggs" : {
            "resellers" : {
                "nested" : {
                    "path" : "resellers"
                },
                "aggs" : {
                    "min_price" : { "min" : { "field" : "resellers.price" } }
                }
            }
        }
    }
    

    보시다시피,nestedaggregation은 플러그인 대상이 최고급 대상에 있는 경로를 정의해야 합니다.우리는 삽입 대상에 어떤 종류의 집합도 정의할 수 있다.
    응답은 다음과 같습니다.
    {
      ...
      "aggregations": {
        "resellers": {
          "doc_count": 0,
          "min_price": {
            "value": 350
          }
        }
      }
    }
    

    좋은 웹페이지 즐겨찾기