I understood coordinate node broadcasts the search request and gathers the results received from data nodes using "query then fetch phase" .
Does it do it in one iteration of "query then fetch phase" or a search request can have multiple iterations of query then fetch phases?
Say taking a complex filter query taken from Elastic Search Complex Scenario (credits : Val, Thanks @Val), will it involve multiple iterations of query then fetch phases? what are the steps the coordinating node does to answer this query
{
  "query": {
    "filtered": {
      "query": {
        "match": {
          "product_name": "xxx"
        }
      },
      "filter": {
        "bool": {
          "must": [
            {
              "range": {
                "price": {
                  "gte": 20,
                  "lte": 170
                }
              }
            },
            {
              "term": {
                "availability": "availability_status"
              }
            },
            {
              "term": {
                "user": 1
              }
            }
          ]
        }
      }
    }
  }
}
            
 . Perhaps, i may need to look at the source code..