Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

텍스트 검색 연산자(자체 관리 배포서버)

이 페이지의 내용

  • 쿼리 프레임워크
  • 집계 파이프라인

참고

이 페이지에서는 자체 관리(비Atlas) 배포를 위한 텍스트 쿼리 기능에 대해 설명합니다. MongoDB Atlas 에서 호스팅되는 데이터의 경우, MongoDB 는 향상된 전체 텍스트 쿼리 솔루션인Atlas Search 와 벡터 검색 솔루션인Atlas 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" } } )

$text$meta 연산자에 관하여 제한 사항 및 동작을 포함한 자세한 내용은 다음에서 확인하세요.

집계 파이프라인으로 작업할 때는 $text 표현식 과 함께 $match 를 사용하여 텍스트 검색 쿼리 를 실행합니다. 관련성 점수 순으로 결과를 정렬하려면 단계[1 $meta]$sort 에서 집계 연산자 를 사용합니다.

집계 작업 파이프라인의 $text 에 대한 자세한 내용과 예시는 자체 관리 배포서버의 집계 파이프라인에서 $text를 참조하세요.

MongoDB Atlas에서 호스팅되는 데이터의 경우 Atlas Search는 컬렉션에서 전문 검색을 수행할 수 있는 $search 집계 단계를 제공합니다.

[1] $meta 프로젝션 연산자의 동작 및 요구 사항은 $meta 집계 연산자의 동작 및 요구 사항과 다릅니다. $meta 집계 연산자에 관한 자세한 내용은 $meta 집계 연산자 참조 페이지에서 확인하세요.

돌아가기

텍스트 검색 수행