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

document_source_missing_exception: Document source is missing(ドキュメントの source がない)

Elasticsearch

意味

操作にはドキュメントの _source フィールドが必要だが、格納されていない。source が無効化されたインデックスで、_source を必要とする操作 (例: 部分更新、source の取得) が試行された。

原因

インデックスのマッピングで _source: {enabled: false} が設定されている。ドキュメントの元の JSON が格納されないため、部分更新、reindex、_source を返すクエリは機能しない。領域節約のため source を無効化した構成がこの問題を引き起こす。

対処方法

_source を必要とする操作には、マッピングで source が有効である必要がある。新しいインデックスを作成する際は _source を有効のままにする (デフォルトで有効)。既存のインデックスで _source が無効の場合は、更新ではなくドキュメント全体を再インデックスする (index API で上書き)。領域を節約するには、source を完全に無効化する代わりに _source フィルタリング (includes/excludes) または synthetic _source を検討する。

DBAtlas で開く →

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