참고
이 페이지에서는 자체 관리(비Atlas) 배포를 위한 텍스트 쿼리 기능에 대해 설명합니다. MongoDB 에서 호스팅되는 데이터의 경우, MongoDB 향상된 전체 텍스트 쿼리 솔루션인MongoDB Search와 벡터 검색 솔루션인Vector Search도 제공합니다.
쿼리 프레임워크
텍스트 인덱스 가 있는 컬렉션 에서 텍스트 $text
검색을 수행하려면 쿼리 연산자 를 사용합니다.
$text
공백과 대부분의 구두점을 구분자로 사용하여 검색 string 을 토큰화하고 검색 string 에 있는 모든 토큰에 대해 논리적 OR
를 수행합니다.
예를 들어 다음 쿼리를 사용하여 stores
컬렉션에서 'coffee', 'shop', 'java' 목록의 용어가 포함된 모든 스토어를 찾을 수 있습니다.
db.stores.find( { $text: { $search: "java coffee shop" } } )
$meta
쿼리 연산자를 사용하여 일치하는 각 문서의 관련성 점수를 구하고 이를 기준으로 정렬합니다. 예를 들어 커피숍 목록을 관련성 순으로 정렬하려면 다음을 실행하세요.
db.stores.find( { $text: { $search: "coffee shop cake" } }, { score: { $meta: "textScore" } } ).sort( { score: { $meta: "textScore" } } )
집계 파이프라인
집계 파이프라인으로 작업할 $match
때는 표현식 과 함께 를 사용하여 $text
텍스트 검색 쿼리 실행합니다. 관련성 점수 순으로 결과를 정렬하려면 단계에서 $meta
집계 연산자 $sort
사용합니다.
자세한 내용과 예시는 자체 관리 배포서버에 대한 집계 파이프라인의 $text를 참조하세요.
MongoDB 에서 호스팅되는 데이터의 경우, MongoDB Search 는 $ 검색 집계 단계를 제공하여 컬렉션에서 전체 텍스트 검색 수행합니다.