본문으로 건너뛰기
Elasticsearch Query 처리 순서

Elasticsearch Query 처리 순서

gunyoung.Park
작성자
gunyoung.Park
Always curious, always exploring new tech
ElasticSearch - 이 글은 시리즈의 일부입니다.
부분 5: 이 글

Elasticsearch Query 처리 순서
#

Summary
#

Filtered Query는 최종 search와 aggregation 둘 다의 결과에 영향을 미치지만, PostFiltered Query는 최종 search 결과에만 영향을 미치고 aggregation에는 영향을 미치지 않는다.


Query 처리 순서
#

SearchRequest → (Filtered) → Query → (PostFilter) → Result → RescoreQuery
                                   ↓
                              Aggregation → AggregationResult

Filter Query 예시
#

{
  "query": {
    "filtered": {
      "filter": {
        "term": {
          "location": "denver"
        }
      }
    }
  }
}

Filter Query는 검색 결과와 Aggregation 모두에 영향을 미친다.


PostFilter Query 예시
#

{
  "post_filter": {
    "term": {
      "location": "denver"
    }
  }
}

PostFilter Query는 검색 결과에만 영향을 미치고, Aggregation 결과에는 영향을 미치지 않는다.


Rescore Query 파라미터
#

  • window_size: 각 shard에서 재점수화할 상위 결과의 수
  • score_mode: main query score와 rescore query의 점수를 결합하는 방식
ElasticSearch - 이 글은 시리즈의 일부입니다.
부분 5: 이 글

관련 글