DBAtlas · データベース運用アトラス

strict_dynamic_mapping_exception: strict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed(strict マッピングで新しいフィールドの動的追加は不可)

Elasticsearch

意味

インデックスまたはオブジェクトのマッピングが "dynamic": "strict" に設定されているため、マッピングに定義されていない新しいフィールドを含むドキュメントが拒否された。strict モードは、スキーマ外のフィールドが暗黙的に追加されるのを防ぐ。

原因

マッピングが dynamic:strict の状態で、マッピングにないフィールド (誤字、新しいフィールド、想定外のフィールド) がドキュメントで送られた。通常はスキーマ管理を厳格に保つための意図的な安全策である。

対処方法

ドキュメント内の余分な/つづりの誤ったフィールドを修正または削除する。そのフィールドが本当に必要なら、先にマッピングに追加する: PUT /index-name/_mapping {"properties": {"new_field": {"type": "..."}}}。新しいフィールドを自動で追加したい場合は dynamic を "true" に、保存するがインデックスしない場合は "false" に設定する。スキーマの規律を保つため、strict モードは意図して使う。

DBAtlas で開く →

同じデータベースの他の項目