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

routing_missing_exception: Routing value is required for this document (이 문서에는 routing 값이 필요)

Elasticsearch

의미

문서에 접근/인덱싱하려면 routing 값이 필요하지만 제공되지 않았다. routing 없이는 Elasticsearch가 문서가 어떤 샤드에 속하는지 결정할 수 없었다.

원인

인덱스 매핑에 _routing required=true가 정의되어 있거나, parent-join(parent/child) 관계를 사용해 자식 문서에 routing이 필요하거나, index/get/update/delete 요청에서 routing 파라미터가 누락된 경우다. 사용자 정의 routing으로 쓴 문서를 routing 없이 읽는 것이 전형적인 원인이다.

해결 방법

요청에 routing 값을 명시적으로 지정한다(예: index/get/update/delete 호출에 ?routing=value). parent-join에서는 자식 문서의 routing으로 부모의 id를 전달한다. 문서를 쓸 때 사용한 것과 같은 routing을 읽기/갱신/삭제에도 사용한다. 매핑의 _routing 요구 사항(required)을 검토한다.

DBAtlas에서 열기 →

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