Separate data stream per customer?

Appreciate the quick reply! I think we'll likely need to divide customers into different data streams, as if they're all in one, we'll likely end up with too many backing indexes (making reads slow).

So it sounds like we'll need to come up with a clientside routing scheme for indexing this data.

Even if we do some partitioning scheme, it's likely that customer usage patterns will change over time and necessitate migrating between different indexes.

Is there a best practice around how to migrate a customer's data from one index to another (without any gap in data)?