인덱싱 의 경우, MongoDB Search는 각 문서 다른 문서 내에 중첩되지 않은 경우 단일 인덱스 객체 로 계산합니다. 내장된 문서의 경우, MongoDB Search는 각 내장된 문서 중첩 수준 수에 따라 추가 인덱스 객체로 계산합니다. MongoDB Search는 2,100,000,000 인덱스 객체보다 큰 인덱스에 대한 변경 사항 복제를 중지합니다.
별도의 검색 노드에 MongoDB Search를 배포한 경우, 인덱스 분할 하여 MongoDB Search 인덱스 객체 수를 늘릴 수 있습니다. 기본값 으로 MongoDB Search는 샤드 당 하나의 파티션을 지원합니다. 각 파티션은 최대 2 0억 개의 인덱스 객체를 지원합니다. numPartitions 옵션을 사용하여 최대 4개의(4) 파티션으로 인덱스 만들 수 있습니다. 이러한 파티션은 클러스터 또는 샤드 당 최대 8B개의 문서를 지원 하는 단일 인덱스 나타냅니다.
인덱스 에 대한 파티션을 구성하면 MongoDB Search는 최적의 방식으로 파티션 간에 인덱스 객체를 자동으로 배포합니다. 인덱스 파티션이 있는 컬렉션 에 대해 쿼리를 실행 하면 MongoDB Search는 쿼리를 모든 파티션에 분산하고 검색 결과와 메타데이터 수집하여 결과를 정렬, 병합 및 반환합니다.
다음과 같은 경우에는 인덱스를 분할하는 것이 좋습니다.
인덱스 객체가 총 한도의 50%에 도달합니다.
컬렉션의 문서 수가 20억 개에 도달합니다.
인덱스 에는 최대 80억 개의 문서가 포함됩니다.
MongoDB Search가 복제 중지했기 때문에 인덱스
STALE상태 입니다.
파티션을 구성하거나 파티션 수를 수정하면 MongoDB Search는 인덱스 재작성을 트리거합니다.
클러스터 에 둘 이상의 파티션이 있는 경우 모든 검색 노드를 제거 하고 mongod 및 mongot 프로세스가 모두 동일한 노드 에서 실행 배포서버 모델로 마이그레이션 할 수 없습니다.
구문
1 { 2 "numPartitions": <integer> 3 }
지원되는 값
MongoDB Search numPartitions 옵션은 다음 값을 사용합니다.
1- 추가 파티션 없이 단일 인덱스 생성합니다. 이 값이 기본값 입니다.2- 최대 40억 개의 문서에 대해 최대 2개의 파티션을 생성합니다.4- 최대 80억 개의 문서에 대해 최대 4개의 파티션을 생성합니다.
예시
다음 인덱스 예시 sample_mflix.movies 컬렉션 사용하여 컬렉션 의 데이터에 대해 최대 4 파티션을 구성하는 방법을 보여 줍니다. Atlas UI 및 기타 지원 클라이언트 에서 비주얼 편집기 또는 JSON 편집기를 사용하여 인덱스 만들 수 있습니다.