문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ / /

자체 관리 배포서버에 대한 텍스트 인덱스 제한

이 페이지의 내용

  • collection당 하나의 텍스트 인덱스
  • 텍스트 검색 및 힌트
  • 텍스트 검색 및 구문
  • 텍스트 인덱스 및 정렬
  • 복합 텍스트 인덱스
  • 데이터 정렬 옵션

텍스트 인덱스에는 다음과 같은 제한 사항이 있습니다.

컬렉션에는 최대 하나의 텍스트 인덱스가 있을 수 있습니다.

Atlas Search (MongoDB Atlas 에서 사용 가능)는 단일 컬렉션에서 여러 개의 전체 텍스트 Atlas Search 인덱스를 지원합니다. 자세히 알아보려면 Atlas Search 설명서를 참조하세요.

쿼리에 $text 표현식이 포함된 경우 hint() 를 사용하여 쿼리에 사용할 인덱스를 지정할 수 없습니다.

$text 연산의 $search 문자열에 구와 개별 용어가 포함된 경우 $text 는 해당 구가 포함된 문서만 일치시킵니다.

여러 구문과 함께 $text 연산자를 사용할 수 없습니다.

텍스트 인덱스는 정렬 작업의 성능을 향상시킬 수 없습니다. 이 제한은 단일 필드 및 복합 텍스트 인덱스 모두에 적용됩니다.

복합 인덱스 에는 오름차순 및 내림차순 인덱스 키와 함께 텍스트 인덱스 키가 포함될 수 있습니다. 그러나 복합 텍스트 인덱스에는 다음과 같은 제한 사항이 있습니다.

  • 복합 텍스트 인덱스에는 멀티키 또는 지리 공간적 인덱스 필드와 같은 다른 특수 인덱스 유형이 포함될 수 없습니다.

  • 복합 텍스트 인덱스에 텍스트 인덱스 키 앞에 오는 키가 포함되어 있는 경우 $text 를 사용하려면 쿼리 조건자에 앞의 키에 대한 동등성 매치 조건 이 포함되어야 합니다.

  • 복합 텍스트 인덱스를 생성하는 경우, 모든 텍스트 인덱스 키는 인덱스 사양 문서에 인접하여 나열되어야 합니다.

복합 텍스트 인덱스의 예는 다음 페이지를 참조하세요.

텍스트 인덱스는 이진 비교만 지원하며 데이터 정렬 옵션은 지원하지 않습니다. 이진 비교는 각 문자열에 있는 각 문자의 숫자 유니코드 값을 비교하며 대소문자나 악센트 표시를 고려하지 않습니다.

단순 데이터 정렬이 아닌 collection에서 텍스트 인덱스를 만들려면 인덱스를 만들 때 { collation: { locale: "simple" } } 을 명시적으로 지정해야 합니다.

예를 들어 { locale: "en" }의 데이터 정렬이 포함된 collationTest 컬렉션을 생각해 보겠습니다.

db.createCollection(
"collationTest",
{
collation: { locale: "en" }
}
)

collationTest collection에 텍스트 인덱스를 만들려면 { collation: { locale: "simple" } } 을 지정해야 합니다. 다음 명령은 quotes 필드에 텍스트 인덱스를 생성합니다.

db.collationTest.createIndex(
{
quotes: "text"
},
{
collation: { locale: "simple" }
}
)

돌아가기

속성

다음

버전