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)
여러 필드의 텍스트 인덱스
컬렉션 에는 텍스트 인덱스 가 하나만 포함될 수 있습니다. 여러 텍스트 필드에 대한 텍스트 인덱스 를 생성하려면 복합 인덱스 를 생성합니다. 텍스트 검색 은 복합 인덱스 내의 모든 텍스트 필드에서 실행됩니다.
다음 예에서는 title
및 genre
필드에 대한 복합 텍스트 인덱스를 생성합니다.
result = myColl.create_index( [("title", "text"), ("genre", "text")], default_language="english", weights={ "title": 10, "genre": 3 } )
자세한 내용은 MongoDB Server 매뉴얼의 복합 텍스트 인덱스 제한 및 텍스트 인덱스 를 참조하세요.