# Multiple small Index vs Single Index

**URL:** <https://discuss.elastic.co/t/multiple-small-index-vs-single-index/353168>\
**Category:** Elasticsearch\
**Created:** [February 13, 2024, 12:48pm UTC](https://discuss.elastic.co/t/multiple-small-index-vs-single-index/353168 "2024-02-13T12:48:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Lovin\_Saini](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lovin_saini/32/124749_2.png) [@Lovin\_Saini](https://discuss.elastic.co/u/Lovin_Saini)\
**Post date:** [February 13, 2024, 12:48pm UTC](https://discuss.elastic.co/t/multiple-small-index-vs-single-index/353168/1 "2024-02-13T12:48:47Z")

</div>

We do have a use case of full text search of application data. There are many clients for which we are going to manage data. Total clients will be around 100 and client data size will be from 1 GB to 50 GB. Data will have frequent updates same updates we will be synching in Elasticsearch.

What should be the best approach

1. Multiple small/mid/big Indexes - which will have very small multiple shards
2. Single index containing all data - here we can have few shards of suggested 30GB size`Preformatted text`

Note : Schema/Fields are fixed for the whole data around 10 fields will be there, 4-5 fields will of text type others will be long/timestamp time.

---

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [February 13, 2024, 1:02pm UTC](https://discuss.elastic.co/t/multiple-small-index-vs-single-index/353168/2 "2024-02-13T13:02:59Z")

</div>

If you are going to have differente clients, then you should try to keep the data of the clients separated from each other, in this case you should try to use a _per client_ index strategy.

Using a single index with all the data makes more complicated to manage the permissions of who can read or not the data, you would need to use document level security, which is a paid feature.

---

<div class="post-metadata">

**Author:** ![Lovin\_Saini](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/lovin_saini/32/124749_2.png) [@Lovin\_Saini](https://discuss.elastic.co/u/Lovin_Saini)\
**Post date:** [February 14, 2024, 5:29am UTC](https://discuss.elastic.co/t/multiple-small-index-vs-single-index/353168/3 "2024-02-14T05:29:00Z")

</div>

Thanks @leandrojmp for quick reply.

Currently we have single index containing all the data and also  
we are using 'alias with condition' for each client to make sure to fetch correct data only. And it is working completely fine.

So we do need to look on other aspects as I asked.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 13, 2024, 5:30am UTC](https://discuss.elastic.co/t/multiple-small-index-vs-single-index/353168/4 "2024-03-13T05:30:01Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
