Controlling the shard and replica allocation
The indices that live inside your Elasticsearch cluster can be built from many shards and each shard can have many replicas. The ability to divide a single index into multiple shards gives us the possibility of dividing the data into multiple physical instances. The reasons why we want to do this may be different. We may want to parallelize indexing to get more throughput, or we may want to have smaller shards so that our queries are faster. Of course, we may have too many documents to fit them on a single machine and we may want a shard because of this. With replicas, we can parallelize the query load by having multiple physical copies of each shard. We can say that, using shards and replicas, we can scale out Elasticsearch. However, Elasticsearch has to figure out where in the cluster it should place shards and replicas. It needs to figure out on which server/nodes each shard or replica should be placed.
Explicitly controlling allocation
One of...