Limits are outlined in Application, Record, and Index limits[1] and Pricing[2] pages.
With the current limits in place:
- Build plan has a limit of 20 indices
- Grow and Grow Plus plans have a limit of 50 indices
- Other plans can have up to 1,000 indices.
The 1,000 index limit is a final protective limit and cannot be exceeded, the limit is in place because having more indexes impacts the performance of your search and indexing.
Therefore you need to avoid architectures that require more indexes as you scale.
A few common use cases where several indices are needed:
- Indexing different kinds of information:
index_people,index_products, … - Clearing and reindex a complete index. To avoid negative transition effects like having an empty index at some point, create a new temporary index and then replace the old one.
- Keeping multiple environments:
dev_products,staging_products,prod_products, etc. - Keeping different indices for different languages:
products_en,products_fr,products_it, etc. - Adding an index for each customer or user your application has
Use those options to avoid creating unnecessary indices:
- Using filters to use one index with different namespaces
- Using user-restricted model to ensure each user can restrictively see its dedicated data
You may experience issues if you create more indices than the limit allows. Common causes of issues are:
- Adding an object to a non-existing index automatically creates it, but the index isn’t automatically removed when deleting all records from it.
- Clearing an index on a non-existing index automatically creates it.
Beware when using code logic that can produce non-deterministic index names: it may create a high number of indices.
If you have an error related to the number of indices, you will need to reduce your index count before continuing to pushing data to the Algolia API. For this, use the deleteIndex method or check out the guide on deleting multiple indices.
Links