Удалите область и ее содержание во всех отчетах и воссоздайте ее с новым отображением

У меня есть область field10 , который был создан случайно, когда я обновил конкретный отчет в своем индексе. Я хочу удалить эту область из своего индекса, всего его содержания и воссоздать его с ниже отображения:

"mytype":{
  "properties":{
    "field10":{ 
      "type":"string",
      "index":"not_analyzed",
      "include_in_all":"false",
      "null_value":"null"      
    }  
  }  
}

Когда я пытаюсь создать это отображение, используя Помещенный API Отображения, я получаю ошибку: {"ошибка": "MergeMappingException [Слияние, подведенное с неудачами {[, у картопостроителя [field10] есть различные ценности индекса, у картопостроителя [field10] есть различный index_analyzer, у картопостроителя [field10] есть различный search_analyzer]}]", "статус":400} .

Как я изменяю отображение этой области? Я не хочу повторно вносить миллионы отчетов в указатель только для этого маленького несчастного случая.

Спасибо

0
nl ja de

1 ответы

AFAIK, вы не можете удалить единственную область и воссоздать его. Вы не можете или просто изменить отображение и иметь все, повторно внес automagicaly в указатель. Предположите, что вы не храните _source . Как Elasticsearch может знать то, на что похожи ваши данные, прежде чем он был внесен в указатель?

Но, можно, вероятно, изменить отображение, используя мультиобласть с field10.field10 использование старого отображения и field10.new с новым анализатором.

Если вы не повторно внесете в указатель, то только у новых документов будет содержание в field10.new . Если вы хотите управлять старыми документами, вы имеете к:

  • Send again all your docs (it will update everything) - aka reindex (you can use scan & scroll API to get your old documents)
  • Try to update your docs with the Update API

Можно, вероятно, попытаться управлять вопросом как:

curl -XPOST localhost:9200/crunchbase/person/1/_update -d '{
    "script" : "ctx._source.field10 = ctx._source.field10"
}'

Но, как вы видите, необходимо управлять им документ документом, и я думаю, что потребуется больше времени, чем переиндексация всех с Оптовым API.

Это помогает?

1
добавлено