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 を検討する。
同じデータベースの他の項目
- settings_exceptionInvalid settings(無効な設定)
- shard_not_found_exceptionShard not found(シャードが見つからない)
- not_x_content_exceptionCompressor detection error / body is not valid content(圧縮形式検出エラー / ボディが有効なコンテンツではない)
- node_not_connected_exceptionNode is not connected(ノードが接続されていない)
- receive_timeout_transport_exceptionRequest timed out waiting for a response from another node(別のノードからの応答待ちで要求がタイムアウト)
- routing_missing_exceptionRouting value is required for this document(このドキュメントにはルーティング値が必要)
- too_many_buckets_exceptionTrying to create too many buckets(作成しようとしたバケットが多すぎる)