Как исправить неправильный тип данных в документе Elasticsearch?
Был создан индекс в elasticksearch, маппинг создан не был, так как он может быть создан автоматически при первой вставке документа. Новые документы добавляются через api, где в структурах данных четко описаны типы данных. Но в некоторых документах elasticsearch некоторые поля стали другим типом данных (string вместо int). Могла ли это быть ошибка elasticsearch или необходимо искать ошибку в api? Как можно автоматически перезаписать только неправильные данные с правильным типом?
Это из-за отсутствия изначального маппинга. Эластик в этом плане очень туп и если ему сразу не объяснить правила игры то на новые он не соглашается. Есть 2 варианта:
- убить индекс, пересоздать с правильным маппингом, перезалить данные
- создать рядом индекс с правильным маппингом, скопировать туда данные, удалить старый индекс и создать алиас