Sampler 집계

Sampler 집계

sampler 집계는 하위 집계 처리를 각 샤드의 최상위 점수 문서로 제한해요. 이는 전체 결과 집합을 처리하는 대신 가장 관련성 높은 일치 항목에 초점을 좁혀 계산 시간을 줄이고, 긴 꼬리(long tail)에서 관련성이 낮은 문서를 제외해 집계 결과의 품질을 향상시킬 수 있어요.

샘플링은 significant_terms 같은 하위 집계에서 특히 유용해요. sampler가 없으면 전체 결과 집합에는 관련성이 약한 문서의 긴 꼬리가 포함되어, 그 일반적인 term이 볼륨으로 지배하여 최상위 점수 일치 항목에서 찾을 수 있는 진정으로 독특한 term을 흐리게 해요.

샘플에서 단일 필드 값이 지배하는 것을 방지하는 다양성 기반 샘플링은 diversified_sampler 집계를 참고하세요.

출처: 문서

본문

파라미터 (Parameters)

sampler 집계는 다음 파라미터를 받아요.

파라미터 필수/선택 데이터 타입 설명
shard_size 선택 Integer 각 샤드에서 수집되는 최상위 점수 문서의 최대 수. 기본값은 100이에요.

예제 (Example)

다음 예제는 샘플을 샤드당 최상위 점수 문서 200개로 제한한 다음 terms 하위 집계를 실행해 그 샘플 내에서 제품 카테고리의 분포를 찾아요:

GET /opensearch_dashboards_sample_data_ecommerce/_search
{
  "size": 0,
  "aggs": {
    "sample": {
      "sampler": {
        "shard_size": 200
      },
      "aggs": {
        "top_categories": {
          "terms": {
            "field": "category.keyword"
          }
        }
      }
    }
  }
}

응답은 샘플이 200개의 문서를 포함하고, terms 하위 집계가 전체 4,675개가 아닌 그 200개 문서에 대해서만 동작했음을 보여줘요:

{
  ...
  "aggregations": {
    "sample": {
      "doc_count": 200,
      "top_categories": {
        "doc_count_error_upper_bound": 0,
        "sum_other_doc_count": 0,
        "buckets": [
          {
            "key": "Men's Clothing",
            "doc_count": 82
          },
          {
            "key": "Women's Clothing",
            "doc_count": 82
          },
          {
            "key": "Women's Shoes",
            "doc_count": 49
          },
          {
            "key": "Women's Accessories",
            "doc_count": 40
          },
          {
            "key": "Men's Shoes",
            "doc_count": 37
          },
          {
            "key": "Men's Accessories",
            "doc_count": 25
          }
        ]
      }
    }
  }
}

응답 본문 필드 (Response body fields)

필드 데이터 타입 설명
doc_count Integer 모든 샤드에 걸친 샘플의 총 문서 수.

제한 사항 (Limitations)

sampler 집계는 breadth-first 수집 모드를 사용하는 terms 집계 아래에 중첩할 수 없어요. breadth-first 수집은 sampler가 필요로 하는 관련성 점수를 버리기 때문이에요.

더 알아보기 (Learn more)