Добавление анализатора к существующему индексу вasticsearch 6.3.1 - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь добавить анализатор в существующий индекс вasticsearch.

Ниже приведен код : -

curl -X POST "localhost:9200/existing_index_name/_mapping/_doc?pretty" -H 'Content-Type:     application/json' -d'
{
"settings":{
    "analysis":{
    "analyzer":{
    "analyzer_startswith":{
    "tokenizer":"keyword",
    "filter":["lowercase"]
     }
    }
   }      
  }
 }
'

Ниже приведена ошибка iполучаю : -

 ["type" : "mapper_parsing_exception",
        "reason" : "Root mapping definition has unsupported parameters:  [settings : {analysis={analyzer={analyzer_startswith={tokenizer=keyword, filter=[lowercase]}}}}]"

Ответы [ 2 ]

0 голосов
/ 26 сентября 2019

Сначала необходимо закрыть индекс curl -XPOST "http://localhost:9200/indexname/_open"

, а затем изменить _mappings на _settings в вашем curl

curl -XPUT "http://localhost:9200/indexname/_settings" -H 'Content-Type: application/json' -d'
{
  "analysis": {
    "analyzer": {
      "analyzer_startswith": {
        "tokenizer": "keyword",
        "filter": [
          "lowercase"
        ]
      }
    }
  }
}'

Чтобы открыть индекс curl -XPOST" http://localhost:9200/indexname/_open"

0 голосов
/ 26 сентября 2019

Вам необходимо вызвать конечную точку _settings , а не _mapping one:

                                                change this
                                                     |
                                                     v
curl -X POST "localhost:9200/existing_index_name/_settings?pretty" -H 'Content-Type: application/json' -d'{
  "analysis": {
    "analyzer": {
      "analyzer_startswith": {
        "tokenizer": "keyword",
        "filter": [
          "lowercase"
        ]
      }
    }
  }
}

Однако остерегайтесь того, что вам нужно сначала закрыть индекс:

curl -XPOST http://localhost:9200/existing_index_name/_close

А потом после обновления настроек нужно его снова открыть

curl -XPOST http://localhost:9200/existing_index_name/_open
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...