21

I am trying to create a test analyzer to experiment on analysis on Elastic Search. I have an index created called "mytest" which is available and searchable, but when I try to create a custom analyzer I get below error

{
"error": "ElasticsearchIllegalArgumentException[Can't update non dynamic settings[[index.analysis.analyzer.content.type, index.analysis.analyzer.content.tokenizer]] for open indices [[mytest]]]",
"status": 400
}

Now I am not sure on restrictions on updating settings but I could not find anything in documentation. I can create the analyze when creating the index, but update does not work.

Using the source below to create analyzer

PUT mytest/_settings
{
  "analysis" : {
    "analyzer":{
      "content":{
        "type":"custom",
        "tokenizer":"whitespace"
      }
    }
  }
}

Any ideas ?

Bren
  • 2,148
  • 1
  • 27
  • 45

2 Answers2

36

You can't update the settings of index when the index is in open status. You need to close the index and update the settings and open the index.

Refer : error when trying to update the settings

Community
  • 1
  • 1
Santhoshle
  • 593
  • 5
  • 11
0

If trying to set non-dynamic settings in Elasticsearch DSL for Python, make sure to pass them to index.settings() instead of the dynamic index.put_settings().

Noumenon
  • 5,099
  • 4
  • 53
  • 73