텍스트 검색 연산자(자체 관리 배포서버)
참고
이 페이지에서는 자체 관리형(Atlas 관리가 아닌) 배포서버를 위한 일반 텍스트 쿼리 기능에 대해 설명합니다. MongoDB Atlas에서 호스팅되는 데이터의 경우, MongoDB는 향상된 전체 텍스트 쿼리 솔루션인 Atlas 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" } } )
$text
및 $meta
연산자에 관하여 제한 사항 및 동작을 포함한 자세한 내용은 다음에서 확인하세요.
$meta
프로젝션 연산자
집계 파이프라인
집계 파이프라인으로 작업할 때는 $text
표현식 과 함께 $match
를 사용하여 텍스트 검색 쿼리 를 실행합니다. 관련성 점수 순으로 결과를 정렬하려면 단계[1 $meta
]$sort
에서 집계 연산자 를 사용합니다.
집계 작업 파이프라인의 $text
에 대한 자세한 내용과 예시는 자체 관리 배포서버의 집계 파이프라인에서 $text를 참조하세요.
MongoDB Atlas에서 호스팅되는 데이터의 경우 Atlas Search는 컬렉션에서 전문 검색을 수행할 수 있는 $search 집계 단계를 제공합니다.
[1] | $meta 프로젝션 연산자의 동작 및 요구 사항은 $meta 집계 연산자의 동작 및 요구 사항과 다릅니다. $meta 집계 연산자에 관한 자세한 내용은 $meta 집계 연산자 참조 페이지에서 확인하세요. |