Index mapping limit

I'm new to elastic and exploring its possibilities to incorporate into our application.

Ours is a multi tenant application and based on several blogs we narrowed down to use Shared index model of elastic where all tenants share a single index.

The question is on field mapping limit, elastic documentation says that the limit is set to 1000 per index and can be changed with imiplications on performance.

In the shared index model if there are 50 tenants and each has 20 unique fields then i have already exhausted the field limit and cannot add new tenants to the index nor add any additional fields to an existing tenant.

Is there any way i can configure the fields so that the limit is not hit? irrespective of the number of tenants?

Note: In our application, we do not restrict the number of fields and user can configure any number of fields he wants to.

Welcome to our community! :smiley:

You might be best off following Elastic Multi tenancy shared index.

I think you need to impose some limitation to avoid suffering from mapping explosion, which would affect the whole cluster. An example of this would be if someone decided to create a field which is a phone number, which can rapidly grow as data is added.

It is also not only the field count that you need to consider as there are likely to be mapping conflicts for fields if you do not manage it. There is no easy solution, apart from giving each tenant their own index, but this does unfortunately not scale well. Have a look at the thread Mark linked to as it discusses the same problem.

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