How can I avoid existing semantic query slowdown during re-indexing using ELSER model in Elastic Search V8

We are using Elastic ELSER model for Semantic Search. I follow this doc to create my semantic tokens in the index: Tutorial: semantic search with ELSER | Elasticsearch Guide [8.14] | Elastic

The Problem: The search data changes every day for our service. Because of this, I have to reindex the newly pushed data to generate the tokens for semantic search. When this re-indexing is running using the ELSER model, the search on existing data also slows down due to model involvement in reindexing. How can this be avoided?

Hi @sudom0nk ,

I see that you also asked this question in the community slack. In the future, please only ask in one place, so that we can avoid duplicate efforts to triage and answer your questions. :slight_smile:

I'll copy the responses from there. From @Quentin_Pradet :

This is expected especially if both queries and reindexing are using the same model deployment and thus "fighting" for the same resource. Options to address this include:

from myself:

Another option (I believe) is to deploy ELSER twice. You can use one model_id for ingest, and another for search. This ensures that your search queue is not flooded with ingest requests during periods of heavy ingest, or vice-versa.

Another help and question is, do you need to reindex new data or just insert new data?

1 Like

Thank you @Sean_Story for the help.

Basically insert new data for semantic search.

So, if I understood correctly, you don't need to reindex every time you insert a new record; just insert the new record.