Docs Menu

Docs Home애플리케이션 개발Python 드라이버PyMongo

Text Indexes

이 페이지의 내용

  • 개요
  • 샘플 데이터
  • 단일 필드의 텍스트 인덱스
  • 여러 필드의 텍스트 인덱스

텍스트 인덱스 는 문자열 콘텐츠에 대한 텍스트 검색 쿼리를 지원합니다. 이러한 인덱스에는 값이 문자열 혹은 문자열 요소의 배열인 필드가 있을 수 있습니다. MongoDB는 다양한 언어에 대해 텍스트 검색을 지원합니다. 인덱스를 생성하는 경우 기본값 언어를 옵션으로 지정할 수 있습니다.

MongoDB 는 향상된 전체 텍스트 Atlas Search 솔루션인 Atlas Search 를 제공합니다. Atlas Search 인덱스 및 사용 방법에 대해 자세히 알아보려면 Atlas Search 인덱스 가이드를 참조하세요.

이 가이드의 예제에서는 Atlas 샘플 데이터 세트sample_mflix.movies 컬렉션을 사용합니다. 무료 MongoDB Atlas cluster 를 생성하고 샘플 데이터 세트를 로드하는 방법을 알아보려면 PyMongo 시작하기를 참조하세요.

다음 예시에서는 plot 필드에 텍스트 인덱스를 생성합니다.

movies.create_index(
[( "plot", "text" )]
)

다음은 앞의 코드 예제에서 생성된 인덱스를 사용하는 쿼리의 예입니다.

query = { "$text": { "$search": "a time-traveling DeLorean" } }
cursor = movies.find(query)

컬렉션 에는 텍스트 인덱스 가 하나만 포함될 수 있습니다. 여러 텍스트 필드에 대한 텍스트 인덱스 를 생성하려면 복합 인덱스 를 생성합니다. 텍스트 검색 은 복합 인덱스 내의 모든 텍스트 필드에서 실행됩니다.

다음 예에서는 titlegenre 필드에 대한 복합 텍스트 인덱스를 생성합니다.

result = myColl.create_index(
[("title", "text"), ("genre", "text")],
default_language="english",
weights={ "title": 10, "genre": 3 }
)

자세한 내용은 MongoDB Server 매뉴얼의 복합 텍스트 인덱스 제한텍스트 인덱스 를 참조하세요.

← Atlas search 인덱스