텍스트 인덱스 언어 지정
이 튜토리얼에서는 텍스트 인덱스와연결된 기본 언어를 지정하는 방법과 다양한 언어로 된 문서가 포함된 컬렉션에 대한 텍스트 인덱스를 만드는 방법을 설명합니다.
인덱스의 기본 언어 text
지정
인덱스된 데이터와 연결된 기본 언어는 단어 어근을 구문 분석하고 (예: 형태소 분석) 중지 단어를 무시하는 규칙을 결정합니다. 인덱싱된 데이터의 기본 언어는 english
입니다.
다른 언어를 지정하려면 text
인덱스를 생성할 때 default_language
옵션을 사용합니다. default_language
에 사용할 수 있는 언어는 텍스트 검색 언어 를 참조하세요.
다음 예에서는 quotes
컬렉션에 대해 content
필드에 text
인덱스를 생성하고 default_language
를 spanish
로 설정합니다.
db.quotes.createIndex( { content : "text" }, { default_language: "spanish" } )
여러 언어로 컬렉션에 대한 text
인덱스 만들기
문서 내 인덱스 언어 지정
collection에 다른 언어로 된 문서 또는 내장된 문서가 포함된 경우 문서 또는 내장된 문서에 language
이라는 필드를 포함하고 해당 문서 또는 내장된 문서의 언어를 값으로 지정합니다.
MongoDB는 text
인덱스를 빌드할 때 해당 문서 또는 내장된 문서에 지정된 언어를 사용합니다.
문서에 지정된 언어가
text
인덱스의 기본 언어를 재정의합니다.내장된 문서에 지정된 언어는 바깥쪽 문서에 지정된 언어 또는 인덱스의 기본 언어를 재정의합니다.
지원되는 언어 목록은 Text Atlas Search 언어 를 참조하세요.
예를 들어 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
collection의 문서는 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" }