# Adding analysers to an ES Index without downtime

**URL:** <https://discuss.elastic.co/t/adding-analysers-to-an-es-index-without-downtime/249614>\
**Category:** Elasticsearch\
**Created:** [September 23, 2020, 7:36am UTC](https://discuss.elastic.co/t/adding-analysers-to-an-es-index-without-downtime/249614 "2020-09-23T07:36:18Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ryan\_Davey](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ryan_davey/32/50393_2.png) [@Ryan\_Davey](https://discuss.elastic.co/u/Ryan_Davey)\
**Post date:** [September 23, 2020, 7:36am UTC](https://discuss.elastic.co/t/adding-analysers-to-an-es-index-without-downtime/249614/1 "2020-09-23T07:36:18Z")

</div>

Just looking for some direction on solving a problem.

Our requirements need us to change our index occasionally to add new mappings and filters/normalizers/analyzers.

These operations are not always allowed as an update to an existing index while still maintaining access to an index for search and insert/update. This index is not an append index, we do updates and deletes on documents.

I've tried the `_reindex` command that allows us to copy our docs to a new index with a new definition, but it happens as a task that eventually completes, which would leave us with a delta between the old and new versions of the index (just to confirm, it does seem we can run `_reindex` again to close this delta, but it’s a bit of a clumsy solution, plus with my test datasets being a fraction of what we have in our production data set, I’m not sure if it’s just reindexing the whole set again.)

I was hoping to set up replication with the idea that we would just roll over to the new index when we deploy our app using a `_clone` but this has the caveat that it copies the index definition and mappings to the new index which defeats the object of what we are trying to do.

Is there a way to replicate from one index to another index within a cluster that has different mappings to the source index, or am I heading in the wrong direction completely?

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [September 29, 2020, 11:43pm UTC](https://discuss.elastic.co/t/adding-analysers-to-an-es-index-without-downtime/249614/2 "2020-09-29T23:43:27Z")

</div>

There's no clean way to do this unfortunately.

You could look at using query-time analysers, but that also comes with a cost.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 27, 2020, 11:43pm UTC](https://discuss.elastic.co/t/adding-analysers-to-an-es-index-without-downtime/249614/3 "2020-10-27T23:43:32Z")

</div>

Closed on October 27, 2020, 11:43pm UTC

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