If I understand correctly, the benefits of creating indices with multiple primary shards is to allow for parallelization in reads/writes as well as the ability to segregate documents to specific shards via routing.
However, if we have the ability to handle the routing of searches and indexing at the application layer and can add new indexes as needed based on capacity, why would we not just create all indexes with one primary shard?
We would then add replicas for each node in the cluster for resiliency and improved performance.
Wouldn't this approach be more flexible than determining the number of primary shards up front?
Am I missing something that a multi-primary shard index provides that can't be accomplished with replicas?