DBAtlas · Atlas de operaciones de bases de datos

strict_dynamic_mapping_exception: strict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed (mapping strict: no se permite añadir campos dinámicamente)

Elasticsearch

¿Qué significa?

Como el mapping del índice o del objeto está configurado con "dynamic": "strict", se rechazó un documento que contenía un campo nuevo no definido en el mapping. El modo strict impide que se añadan silenciosamente campos ajenos al esquema.

¿Por qué ocurre?

Se envió en el documento un campo que no está en el mapping (error tipográfico, campo nuevo, campo inesperado) mientras el mapping es dynamic:strict. Suele ser una salvaguarda deliberada para mantener un control estricto del esquema.

Cómo solucionarlo

Corrija o elimine el campo sobrante/mal escrito del documento. Si el campo es realmente necesario, añádalo primero al mapping: PUT /index-name/_mapping {"properties": {"new_field": {"type": "..."}}}. Si quiere que los campos nuevos se añadan automáticamente, configure dynamic en "true", o en "false" si deben almacenarse pero no indexarse. Use el modo strict de forma deliberada para mantener la disciplina del esquema.

Abrir en DBAtlas →

Más entradas de este motor