Docs Menu
Docs Home
/
MongoDB Atlas
/

Atlas Search 쿼리 생성 및 실행

이 페이지의 내용

  • 지원되는 클라이언트
  • 다음 단계

Atlas Search 쿼리는 집계 파이프라인 단계의 형태를 취합니다. Atlas Search는 $search$searchMeta 단계를 제공하며, 이 두 단계는 $lookup$unionWith 하위 파이프라인을 포함한 모든 쿼리 파이프라인의 첫 번째 단계여야 합니다. 이러한 단계는 쿼리 파이프라인의 다른 집계 파이프라인 단계와 함께 사용할 수 있습니다. 이러한 파이프라인 단계에 대해 자세히 알아보려면 집계 파이프라인 단계 선택을 참조하세요.

Atlas Search는 또한 $search$searchMeta 집계 파이프라인 단계 내에서 사용할 수 있는 쿼리연산자수집기를 제공합니다. Atlas Search 연산자를 사용하면 Atlas 클러스터의 컬렉션에서 관련된 데이터를 찾고 검색할 수 있습니다. 수집기는 검색 메타데이터 결과를 나타내는 문서를 반환합니다.

Atlas Search 연산자를 사용하여 용어, 구문, 지리적 도형 및 점, 숫자 값, 유사 문서, 동의어 등을 쿼리할 수 있습니다. 정규식 및 와일드카드 표현식을 사용하여 검색할 수도 있습니다. Atlas Search 복합 연산자를 사용하면 $search 단계 내에서 여러 연산자를 결합하여 복잡한 검색을 수행하고 Atlas Search에서 반환된 문서에 반드시 있어야 하는 항목, 반드시 없어야 하는 항목 또는 있으면 좋은 항목에 따라 데이터를 필터링할 수 있습니다. 복합 연산자를 사용하여 $search 단계 자체에서 문서를 일치시키거나 필터링할 수도 있습니다. $match $search 뒤에 실행하는 것은 복합 $search 연산자와 함께 실행하는 것보다 성능이 떨어집니다.

Atlas Search 연산자의 구문, 옵션 및 사용법에 대한 자세한 내용은 Atlas Search 쿼리에서 연산자 및 수집기 사용을 참조하세요.

mongod 동일한 노드의 mongot

쿼리를 실행할 때 Atlas Search는 구성된 읽기 기본 설정을 사용하여 쿼리를 실행할 노드를 식별합니다. 쿼리는 먼저 MongoDB 프로세스인 복제본 세트 클러스터의 경우 mongod, 샤딩된 클러스터의 경우 mongos 로 이동합니다.

복제본 세트 클러스터의 경우 MongoDB 프로세스는 쿼리를 동일한 노드의 mongot으로 라우팅합니다. 샤딩된 클러스터에서는 클러스터 데이터가 여러 mongod 인스턴스에 걸쳐 분할되며, 각 mongot은 동일한 노드에 있는 mongod의 데이터에 대해서만 알고 있습니다. 따라서 특정 샤드를 대상으로 하는 Atlas Search 쿼리를 실행할 수 없습니다. mongos는 쿼리를 모든 샤드로 전달하여 이러한 분산 수집 쿼리를 만듭니다. 구역을 사용하여 클러스터의 샤드 하위 집합에 샤딩된 컬렉션을 분산하는 경우, Atlas Search는 쿼리 중인 컬렉션의 샤드가 포함된 구역으로 쿼리를 라우팅하고 컬렉션이 있는 샤드에서만 $search 쿼리를 실행합니다.

Atlas Search는 검색 및 점수 산정을 수행하고 일치하는 결과에 대한 문서 ID 및 기타 검색 메타데이터를 mongod로 반환합니다. 그런 다음 mongod는 일치하는 결과에 대해 암시적으로 전체 문서 조회를 수행하여 결과를 클라이언트에 반환합니다. 쿼리에서 $search 동시 옵션을 사용하는 경우 Atlas Search는 쿼리 내 병렬 처리를 활성화합니다. 자세한 사항은 세그먼트간 쿼리 실행 병렬화를 참조하세요.

mongod 및 다른 노드의 mongot

쿼리를 실행하면 구성된 읽기 설정에 따라 쿼리가 먼저 mongod로 이동합니다. mongod 프로세스는 동일한 노드의 로드 밸런서를 통해 검색 쿼리를 라우팅하며, 로드 밸런서는 mongot 프로세스 전체에 요청을 분산합니다.

Atlas Search mongot 프로세스는 검색 및 점수 산정을 수행하고 일치 결과에 대한 문서 ID와 메타데이터를 mongod로 반환합니다. 그런 다음 mongod는 일치하는 결과에 대한 전체 문서 조회를 수행하고 결과를 클라이언트에 반환합니다. 쿼리에서 $search 동시 옵션을 사용하는 경우 Atlas Search는 쿼리 내 병렬 처리를 활성화합니다. 자세한 내용은 세그먼트간 쿼리 실행 병렬 처리를 참조하세요.

Atlas Search는 결과 세트의 모든 문서에 관련성 기반 점수를 부여합니다. 관련성 기반 점수 매기기를 통해 Atlas Search는 가장 높은 점수에서 가장 낮은 점수 순서로 문서를 반환할 수 있습니다. Atlas Search는 쿼리어가 문서에 자주 나타나는 경우 문서 점수를 높이고 컬렉션의 여러 문서에 쿼리어가 나타나면 낮은 점수를 줍니다. Atlas Search는 또한 부스트, 감쇠(decaying) 또는 또는 기타 수정 옵션을 통해 관련성 기반의 기본 점수를 사용자 맞춤형으로 조정하는 것도 가능합니다. 결과 점수 사용자 지정에 대해 자세히 알아보려면 결과에서 문서 점수 매기기를 참조하세요.

참조 항목: 보면서 배우기

이 동영상에서 Atlas Search로 쿼리를 검색하고 추적하는 방법에 대한 개요를 확인하세요. 이 동영상에서는 Atlas Search 연산자에 대한 내용 및 결과에서 문서의 점수를 산정하는 방법에 대해 자세히 알아볼 수 있습니다.

지속 시간 소요 시간: 15분

다음을 사용하여 Atlas Search 쿼리를 만들고 실행할 수 있습니다.

쿼리를 만들고 실행하는 방법을 알아보려면 쿼리 만들기를 참조하세요. 샘플 데이터 세트를 이용해 Atlas Search 인덱스를 생성하고 Atlas Search 쿼리를 실행하는 실습을 해보고 싶다면, 다음 페이지의 튜토리얼을 참조하세요.

돌아가기

Update