Можем ли мы установить флаг ignore_malformed для уже существующего индекса в elasticsearch?

Я новичок в поиске эластичных материалов. Я переиндексирую старый индекс в новый. но когда я переиндексирую миллионы записей, я получаю исключение mapper_parsing_exception. поэтому мой вопрос в том, что есть ли способ установить флаг ignore_malformed true для уже существующего индекса.


person Naresh Singh    schedule 30.11.2020    source источник
comment
При переиндексации всегда следует явно задавать сопоставление целевого индекса перед запуском переиндексации, потому что переиндексация не делает этого за вас.   -  person Val    schedule 30.11.2020
comment
да, я это понимаю... но наш старый индекс имеет динамическое отображение, а наш новый индекс имеет статическое отображение. но я думаю, что в динамическом отображении по умолчанию флаг ignore_malformed равен true. так что теперь при переиндексации мы получаем map_parser_exception. есть ли способ избежать этого.   -  person Naresh Singh    schedule 30.11.2020
comment
Вы можете установить ignore_malformed в уровень индекса перед запуском переиндексации   -  person Val    schedule 30.11.2020
comment
но можно установить флаг ignore_malformed true для уже существующего индекса.   -  person Naresh Singh    schedule 30.11.2020


Ответы (1)


Да, можно изменить параметр ignore_malformed динамически, просто запустив это:

PUT logstash_june_2019/doc/_mapping
{
  "properties": {
    "createdAt": {
      "type" : "date",
      "ignore_malformed": true             <--- add this
    }
  }
}
person Val    schedule 30.11.2020