title: quick recovery after node restart in elasticsearch
body: <p>Consider the below settings in the elasticsearch.yml</p>
  
  <pre><code>gateway.recover_after_data_nodes: 3
  gateway.recover_after_time: 5m
  gateway.expected_data_nodes: 3
  </code></pre>
  
  <p>Current setting:
  Say, I have 3 data nodes. Now if I decide to restart a data node(due to a small change in setting), the recovery will start immediately after node restart as per the expected_data_nodes setting. There will be many unassigned shards, which will get allocated slowly depending on the data it contains.</p>
  
  <p>In order to avoid that, is there any way to allocate all the unassigned shards to a specific node?(in my case the restarted node) and once that is done, ES should take over the rebalancing.</p>
  
  <p>Mainly I want to avoid the heavy timelag of the cluster state from yellow to green.(it is in the range of hours in my case)</p>
  
  <p>Can I use the cluster reroute api for this purpose?</p>
  
  <p>or is there any other api to transfer all the unassigned shards to specific node at one go?</p>