An index-per-customer design is normally a bad decision in the long run, because you will get more customers over time and eventually Elasticsearch will start to struggle with the number of indices that this entails. Also 100k documents is very small for an index. Here is an article with advice for shard sizing:
I think you might be overthinking things. The simplest possible approach would be to have a single index for all the data, restricting each customer to their own documents using a bool query to add a term query to each search. Have you tried this? If yes, and it didn't work, where did it fall down?
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.