Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

자체 관리형 배포에서 텍스트 인덱스의 기본 언어 지정하기

이 페이지의 내용

  • text 인덱스의 기본 언어 지정
  • 여러 언어로 컬렉션에 대한 text 인덱스 만들기

이 튜토리얼에서는 텍스트 인덱스와연결된 기본 언어를 지정하는 방법과 다양한 언어로 된 문서가 포함된 컬렉션에 대한 텍스트 인덱스를 만드는 방법을 설명합니다.

인덱싱된 데이터와 연결된 기본값 언어 는 단어 어근을 구문 분석하는 규칙을 결정합니다(예: 형태소 분석) 및 중지 단어를 무시합니다. 인덱싱된 데이터의 기본값 언어 는 english 입니다.

다른 언어 를 지정하려면 text 인덱스 를 만들 때 default_language 옵션을 사용합니다. default_language 에 사용할 수 있는 언어에 대해서는 자체 관리 배포서버의 텍스트 검색 언어를 참조하세요.

다음 예에서는 quotes 컬렉션에 대해 content 필드에 text 인덱스를 생성하고 default_languagespanish 로 설정합니다.

db.quotes.createIndex(
{ content : "text" },
{ default_language: "spanish" }
)

컬렉션 에 다른 언어로 된 문서 또는 내장된 문서가 포함된 경우 문서 또는 내장된 문서에 language 이라는 필드 를 포함하고 해당 문서 또는 내장된 문서 된 문서의 언어 를 값으로 지정합니다.

MongoDB는 text 인덱스를 빌드할 때 해당 문서 또는 내장된 문서에 지정된 언어를 사용합니다.

  • 문서 에 지정된 언어 가 text 인덱스 의 기본값 언어 를 재정의합니다.

  • 내장된 문서에 지정된 언어는 바깥쪽 문서에 지정된 언어 또는 인덱스의 기본 언어를 재정의합니다.

지원되는 언어 목록은 자체 관리 배포서버의 텍스트 검색 언어를 참조하세요.

예를 들어 quotes 컬렉션에는 필요에 따라 문서 및/또는 내장된 문서의 language 필드를 포함하는 다국어 문서가 포함되어 있습니다.

{
_id: 1,
language: "portuguese",
original: "A sorte protege os audazes.",
translation:
[
{
language: "english",
quote: "Fortune favors the bold."
},
{
language: "spanish",
quote: "La suerte protege a los audaces."
}
]
}
{
_id: 2,
language: "spanish",
original: "Nada hay más surrealista que la realidad.",
translation:
[
{
language: "english",
quote: "There is nothing more surreal than reality."
},
{
language: "french",
quote: "Il n'y a rien de plus surréaliste que la réalité."
}
]
}
{
_id: 3,
original: "is this a dagger which I see before me.",
translation:
{
language: "spanish",
quote: "Es este un puñal que veo delante de mí."
}
}

기본 언어인 영어를 사용하여 quote 필드에 text 인덱스를 생성하는 경우.

db.quotes.createIndex( { original: "text", "translation.quote": "text" } )

그런 다음 language 필드 가 포함된 문서 및 내장된 문서의 경우 text 인덱스 는 해당 언어 를 사용하여 어간 및 기타 언어 특성을 구문 분석합니다.

language 필드 를 포함하지 않는 내장된 문서의 경우,

  • 둘러싸는 문서 에 language 필드 가 포함되어 있으면 인덱스 는 내장된 문서 에 대해 문서 언어 를 사용합니다.

  • 그렇지 않으면 인덱스는 내장된 문서에 기본값 언어를 사용합니다.

language 필드 가 포함되지 않은 문서의 경우 인덱스 는 기본값 언어 인 영어를 사용합니다.

language 이외의 이름으로 필드 를 사용하려면 인덱스 를 생성할 때 language_override 옵션을 포함합니다.

예를 들어 필드 이름으로 language 대신 idioma 을(를) 사용하려면 다음 명령을 입력합니다.

db.quotes.createIndex( { quote : "text" },
{ language_override: "idioma" } )

quotes 컬렉션 의 문서는 idioma 필드 를 사용하여 언어 를 지정할 수 있습니다.

{ _id: 1, idioma: "portuguese", quote: "A sorte protege os audazes" }
{ _id: 2, idioma: "spanish", quote: "Nada hay más surrealista que la realidad." }
{ _id: 3, idioma: "english", quote: "is this a dagger which I see before me" }

돌아가기

Text Indexes