DBAtlas · Atlas d'exploitation des bases de données

strict_dynamic_mapping_exception: strict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed (mapping strict ; nouveau champ non autorisé)

Elasticsearch

Que signifie cette erreur ?

Comme le mapping de l'index ou de l'objet est défini sur "dynamic": "strict", un document contenant un nouveau champ non défini dans le mapping a été rejeté. Le mode strict empêche l'ajout silencieux de champs hors schéma.

Cause

Un champ absent du mapping a été envoyé dans le document (faute de frappe, nouveau champ, champ inattendu) alors que le mapping est en dynamic:strict. C'est généralement une protection volontaire pour garder un contrôle strict du schéma.

Comment la corriger

Corrigez ou supprimez le champ en trop/mal orthographié dans le document. Si le champ est réellement nécessaire, ajoutez-le d'abord au mapping : PUT /index-name/_mapping {"properties": {"new_field": {"type": "..."}}}. Si vous souhaitez que les nouveaux champs soient ajoutés automatiquement, définissez dynamic sur "true", ou sur "false" s'ils doivent être stockés mais non indexés. Utilisez le mode strict délibérément pour préserver la discipline du schéma.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur