There's more...

This Elasticsearch functionality provides support for new scenarios in Elasticsearch usage.

The first scenario is when you overestimate the number of shards. If you don't know your data, it's difficult to choose the correct number of shards to be used. So, often, an Elasticsearch user tends to oversize the number of shards.

Another interesting scenario is to use shrinking to provide a boost at indexing time. The main way to speed up Elasticsearch writing capabilities to a high number of documents is to create indices with a lot of shards (in general, the ingestion speed is about equal to the number of shards multiplied for documents per second, as ingested by a single shard). The standard allocation moves the shards on different nodes, so generally the more shards you have, the faster the writing speed will be: so, to achieve fast writing speeds, you should create 15 or 30 shards for an index. After the indexing phase, the index doesn't receive new records (such as time-based indices): the index is only searched, so to speed up the search, you can shrink your shards.