DBAtlas · 데이터베이스 운영 아틀라스

document_source_missing_exception: Document source is missing

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에서 열기 →

같은 데이터베이스의 다른 항목