DBAtlas · Atlas für Datenbankbetrieb

strict_dynamic_mapping_exception: strict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed (striktes Mapping; neues Feld nicht erlaubt)

Elasticsearch

Was bedeutet das?

Weil das Index- oder Objekt-Mapping auf "dynamic": "strict" gesetzt ist, wurde ein Dokument mit einem neuen, im Mapping nicht definierten Feld abgelehnt. Der Strict-Modus verhindert, dass Felder außerhalb des Schemas stillschweigend hinzugefügt werden.

Ursache

Im Dokument wurde ein im Mapping nicht vorhandenes Feld gesendet (Tippfehler, neues Feld, unerwartetes Feld), während das Mapping auf dynamic:strict steht. Meist eine bewusste Schutzmaßnahme für eine strikte Schemakontrolle.

Lösung

Korrigiere oder entferne das überzählige/falsch geschriebene Feld im Dokument. Wird das Feld wirklich benötigt, füge es zuerst dem Mapping hinzu: PUT /index-name/_mapping {"properties": {"new_field": {"type": "..."}}}. Sollen neue Felder automatisch hinzugefügt werden, setze dynamic auf "true", oder auf "false", wenn sie gespeichert, aber nicht indexiert werden sollen. Setze den Strict-Modus bewusst ein, um Schemadisziplin zu wahren.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank