Update by Query in the Background

Is there any possiblity/features that we can use in Elasticsearch to run an update by query on millions of records but in a background process so that it does not affect the normal search and query performance.

You could imagine running a reindex call to create a new index with the new content and then switch the alias from the old to the new index and delete the old index.