The build plan has a limit of 10 indices
The grow plan has a limit of 50 indices
Other plans can have up to 1,000 indices.
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.
It’s recommended to limit when possible the number of indices, as it has a direct impact on:
- The indexing time: each index built at different time this reduce batching optimizations
- The search time: several small indices are less performing than a larger one
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 need to reduce your index count before continuing pushing data to the Algolia API. For this, use the deleteIndex
method or check out the guide on deleting multiple indices.