Changing Non Dynamic setting of allready created index


(Amish) #1

Hi
We have an index with setting like :

curl -XGET 'http://localhost:9200//_settings' -d '{
...
"analysis" : {
"filter" : {
"truncate_filter" : {
"type" : "truncate",
"length" : "7000"
},
....
}

Now we want to change the length of the truncate filter setting without recreating the index.

When we tried to change the setting it gives error:
error": "ElasticsearchIllegalArgumentException[Can't update non dynamic settings.....

This one can understand.

Then we went ahead and did the following:
a) Close the index
b) Again changed the setting to something smaller say 5000. It went through fine.
c) Open the index and checked the setting. It shows the new setting as 5000 and as far as we can see it works fine.

Question
: What exactly happened here. I am assuming it has not changed anything
for the existing data, but is using this setting only for new data. Is
this a bug or intended behaviour or just a workaround which we should
not use.

regards and thanks
amish


(Jason Wee) #2

it seem like what you did is inline with the official documentation. https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-update-settings.html#update-settings-analysis


(Amish) #3

HI Jason
Thanks.
That is for "adding" a new analyzer to the index. This is tinkering with an
existing analyzer.
So just wanted confirmation that this is officially supported and not a bug.

More importantly what happen in both the cases to the existing data? Does
it get reanalyzed when the index is open or is the index in inconsistent
state.
regards and thanks
amish


(system) #4