Featured image of post Elasticsearch Query Processing Sequence

Elasticsearch Query Processing Sequence

Processing sequence and operation of Query, Filter, and PostFilter in Elasticsearch.

Elasticsearch Query Processing Sequence

Summary

Filtered Query affects both the final search and aggregation results, but PostFiltered Query only affects the final search results and does not affect aggregation.


Query Processing Sequence

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

Filter Query Example

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

Filter Query affects both search results and Aggregation.


PostFilter Query Example

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

PostFilter Query only affects search results and does not affect Aggregation results.


Rescore Query Parameters

  • window_size: The number of top results to rescore per shard
  • score_mode: The method of combining main query score and rescore query scores