Performance and Efficiency for Indexing Using Machine Learning Models

I have a question about the performance of document indexing using the _elser_v2 model.

I read in the documentation that it can index 26 documents per second, which is already a significant improvement over the v1 model. My question is: for large volumes of documents, this ingestion rate is still unfeasible. I would like to know if there are solutions for handling large data loads or even using the model locally to try to improve the time.

I believe the model is constantly evolving. If a v3 version comes out, will it be able to understand what v2 indexed, or will I need to redo the work with all the data?

Additionally, you would like to consider the following:

  1. How can I retrain the Elser_V2 model?
  2. How does this model relearn?
  3. Is it possible to specify a language to reduce the vector size?
  4. What are the costs associated with relearning and indexing documents?

Hello world !!?? :rofl:

Hi there! you can index more if you update the model deployment configuration of number of allocations and threads per allocation. Some customers choose to use a specific model deployment configuration for ingest and one for query time, with query token pruning enabled to improve query performance Improving text expansion performance using token pruning — Search Labs

Retraining of ELSER is not feasible at this moment, but we are working on future iterations of ELSER. A new model version would function similarly to new versions of other models where you would want to look at applying semantic_text, with the new version specified and reindex your data and considering whether you'd like to use the default chunking provided with semantic_text.

1 Like

Hello! Thanks for bringing this up! As Serena mentioned, retraining ELSER is currently not possible. When a future version of ELSER is released, you will need to re-index your documents using the new version. This means that ELSERvN is not compatible with documents indexed with ELSERvN-1.

For more details, you can refer to the ELSER documentation. This tutorial shows you how to create an ingest pipeline with an inference processor that uses ELSER v2, and how to reindex your data through the pipeline.

The costs associated with re-indexing documents (running them through some version of ELSER before indexing) depend on your configuration, such as the number and size of ML nodes.

You can consult our documentation for guidance on setting the number of threads and allocations, and then use our Elastic Cloud (Elasticsearch Service) Pricing Calculator to estimate the costs.

3 Likes