DBAtlas · Атлас эксплуатации баз данных

strict_dynamic_mapping_exception: strict_dynamic_mapping_exception: mapping задан как strict, динамическое добавление [...] внутри [...] не допускается

Elasticsearch

Что это значит?

Поскольку mapping индекса или объекта задан как "dynamic": "strict", документ с новым полем, не определённым в mapping, был отклонён. Строгий режим не позволяет молча добавлять поля вне схемы.

Почему возникает?

В документе отправлено поле, отсутствующее в mapping (опечатка, новое поле, неожиданное поле), при mapping с dynamic:strict. Обычно это намеренная защита для строгого контроля схемы.

Как исправить

Исправьте или удалите лишнее/ошибочно названное поле в документе. Если поле действительно нужно, сначала добавьте его в mapping: PUT /index-name/_mapping {"properties": {"new_field": {"type": "..."}}}. Если нужно, чтобы новые поля добавлялись автоматически, задайте dynamic значение "true", или "false", если они должны храниться, но не индексироваться. Используйте строгий режим осознанно, чтобы сохранять дисциплину схемы.

Открыть в DBAtlas →

Ещё по этой СУБД