AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

사용자 지정 검색 분석기의 토크나이저

사용자 지정 분석기의 토크나이저 MongoDB Search가 인덱싱 위해 텍스트를 개별 청크로 분할하는 방법을 결정합니다. 토크나이저에는 유형 필드 필요하며, 일부 토크나이저는 추가 옵션도 필요로 합니다.

구문
"tokenizer": {
"type": "<tokenizer-type>",
"<additional-option>": "<value>"
}

The sample index definitions and queries on this page use the sample collection named minutes. To try these examples, load the minutes collection on your cluster and navigate to the Create a Search Index page in the Atlas UI following the steps in the Create a MongoDB Search Index tutorial. Then, select the minutes collection as your data source, and follow the example procedure to create an index from the Atlas UI or using mongosh.

The edgeGram tokenizer tokenizes input from the left side, or "edge", of a text input into n-grams of given sizes. You can't use a custom analyzer with edgeGram tokenizer in the analyzer field for synonym or autocomplete field mapping definitions.

edgeGram 토크나이저에는 다음과 같은 속성이 있습니다.

참고

edgeGram 토크나이저는 입력 텍스트의 단어당 및 단어 전체에 걸쳐 여러 출력 토큰을 생성하여 토큰 그래프를 만들어 냅니다.

Because autocomplete field type mapping definitions and analyzers with synonym mappings only work when used with non-graph-producing tokenizers, you can't use a custom analyzer with edgeGram tokenizer in the analyzer field for autocomplete field type mapping definitions or analyzers with synonym mappings.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 edgeGram이어야 합니다.

minGram

integer

생성된 가장 짧은 토큰에 포함할 문자 수입니다.

maxGram

integer

생성된 가장 긴 토큰에 포함할 문자 수입니다.

다음 인덱스 정의는 edgegramExample이라는 사용자 지정 분석기를 사용하여 minutes 컬렉션의 message 필드를 인덱싱합니다. edgeGram 토크나이저를 사용하여 message 필드의 단어 왼쪽에 있는 첫 번째 문자로부터 문자 2 ~ 7 사이에서 토큰(검색 가능한 텀)을 생성합니다.

다음 쿼리는 minutes collection의 message 필드에서 tr로 시작하는 텍스트를 검색합니다.

MongoDB Search는 검색 텀 _id: 1 _id: 3 일치하는 문서의 {MongoDB} 토크나이저 사용하여 값의 토큰을 생성했기 때문에 tr edgeGram 결과에 및 이 포함된 문서를 반환합니다. standard 토크나이저 사용하여 message 필드 인덱스 경우 MongoDB Search는 검색 tr 텀 대한 결과를 반환하지 않습니다.

다음 표는 edgeGram 토크나이저와 이와는 대조적인 standard 토크나이저가 결과 내 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

try, to, sign, in

edgeGram

tr, try, try{SPACE}, try t, try to, try to{SPACE}

keyword 토크나이저 전체 입력을 단일 토큰으로 토큰화합니다. MongoDB Search는 keyword 토크 토크나이저 사용하여 32766 자를 초과하는 문자열 필드를 인덱스 하지 않습니다.

keyword 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 keyword이어야 합니다.

다음 인덱스 정의는 keywordExample이라는 사용자 지정 분석기를 사용하여 minutes 컬렉션의 message 필드를 인덱싱합니다. keyword 토크나이저를 사용하여 전체 필드에 대한 토큰(검색 가능한 텀)을 단일 텀으로 생성합니다.

다음 message 쿼리는 minutes 컬렉션의 필드에서 구문 try to sign-in을 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 3 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 try to sign-in 포함된 keyword 문서 를 반환합니다. standard 토크나이저 사용하여 message 필드 인덱스 경우, 각 문서 standard 일부 토큰이 포함되어 있기 때문에 MongoDB Search는 검색 try to sign-in 텀 대해 _id: 1, _id: 2, _id: 3 이 있는 문서를 반환합니다. 토크나이저 생성합니다.

다음 표는 keyword 토크나이저와 이와는 대조적인 standard 토크나이저가 _id: 3을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

try, to, sign, in

keyword

try to sign-in

The nGram tokenizer tokenizes into text chunks, or "n-grams", of given sizes. You can't use a custom analyzer with nGram tokenizer in the analyzer field for synonym or autocomplete field mapping definitions.

nGram 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 nGram이어야 합니다.

minGram

integer

생성된 가장 짧은 토큰에 포함할 문자 수입니다.

maxGram

integer

생성된 가장 긴 토큰에 포함할 문자 수입니다.

다음 인덱스 정의는 ngramExample이라는 사용자 지정 분석기를 사용하여 minutes collection의 title 필드를 인덱싱합니다. nGram 토크나이저를 사용하여 title 필드에서 4자와 6자 사이의 토큰(검색 가능한 용어)을 생성합니다.

다음 title 쿼리는 minutes 컬렉션의 필드에서 용어 week를 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 1 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 week 포함된 nGram 문서 를 반환합니다. standard 또는 edgeGram 토크나이저 사용하여 title 필드 인덱스 경우 MongoDB Search는 검색 week 텀 대한 결과를 반환하지 않습니다.

다음 표는 nGram 토크나이저와 이와는 대조적인 standardedgeGram토크나이저가 _id: 1을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

The, team's, weekly, meeting

edgeGram

The{SPACE}, The t, The te

nGram

The{SPACE}, The t, The te, he t, ... , week, weekl, weekly, eekl, ..., eetin, eeting, etin, eting, ting

regexCaptureGroup 토크나이저는 Java 정규 표현식 패턴을 일치시켜 토큰을 추출합니다.

To learn more about Java regular expression syntax, see the Pattern class in the Java documentation.

regexCaptureGroup 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 regexCaptureGroup이어야 합니다.

pattern

문자열

일치시킬 정규 표현식.

group

integer

토큰으로 추출할 일치하는 표현식 내 문자 그룹의 인덱스입니다. 모든 문자 그룹을 추출하려면 0을 사용합니다.

다음 인덱스 정의는 phoneNumberExtractor라는 사용자 지정 분석기를 사용하여 minutes collection의 page_updated_by.phone 필드를 인덱싱합니다. 다음을 사용합니다.

  • mappings 처음 세 자리 숫자의 괄호를 제거하고 모든 공백과 마침표를 대시로 바꾸는 문자 필터

  • regexCaptureGroup 토크나이저를 사용하여 텍스트 입력에 있는 첫 번째 미국 형식의 전화번호에서 단일 토큰을 만듭니다.

다음 page_updated_by.phone 쿼리는 minutes 컬렉션의 필드에서 전화번호 123-456-9870을 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 3 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 123-456-7890 포함된 regexCaptureGroup 문서 를 반환합니다. standard 토크나이저 사용하여 page_updated_by.phone 필드 인덱스 하면 MongoDB Search는 검색 123-456-7890 텀 대한 모든 문서를 반환합니다.

다음 표는 regexCaptureGroup 토크나이저와 이와는 대조적인 standard 토크나이저가 _id: 3을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

123, 456.9870

regexCaptureGroup

123-456-9870

regexSplit 토크나이저는 Java 정규 표현식 기반 구분 기호를 사용하여 토큰을 분할합니다.

To learn more about Java regular expression syntax, see the Pattern class in the Java documentation.

regexSplit 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 regexSplit이어야 합니다.

pattern

문자열

일치시킬 정규 표현식.

다음 인덱스 정의는 dashDotSpaceSplitter이라는 사용자 지정 분석기를 사용하여 minutes 컬렉션의 page_updated_by.phone 필드를 인덱싱합니다. regexSplit 토크나이저를 사용하여 page_updated_by.phone 필드에 있는 하나 이상의 하이픈, 마침표 및 공백으로 토큰(검색 가능한 텀)을 생성합니다.

다음 page_updated_by.phone 쿼리는 minutes 컬렉션의 필드에서 숫자 9870을 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 3 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 9870 포함된 regexSplit 문서 를 반환합니다. standard 토크나이저 사용하여 page_updated_by.phone 필드 인덱스 경우 MongoDB Search는 검색 9870 텀 대한 결과를 반환하지 않습니다.

다음 표는 regexCaptureGroup 토크나이저와 이와는 대조적인 standard 토크나이저가 _id: 3을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

123, 456.9870

regexSplit

(123), 456, 9870

standard 토크나이저는 유니코드 텍스트 세분화 알고리즘의 단어 나누기 규칙에 따라 토큰화합니다.

standard 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 standard이어야 합니다.

maxTokenLength

integer

no

단일 토큰의 최대 길이입니다. 이 길이보다 큰 토큰은 maxTokenLength에서 여러 토큰으로 분할됩니다.

기본값: 255

다음 인덱스 정의는 standardExample(이)라는 사용자 지정 분석기를 사용하여 minutes collection의 message 필드를 인덱싱합니다. standard 토크나이저 및 stopword 토큰 필터를 사용합니다.

다음 message 쿼리는 minutes 컬렉션의 필드에서 용어 signature를 검색합니다.

MongoDB Search는 검색 와 일치 텀 문서의 standard 토크나이저 사용하여 signature 값의 토큰을 생성했기 때문에 _id: 4 이 포함 MongoDB 문서 를 반환합니다. keyword 토크나이저 사용하여 message 필드 인덱스 경우 MongoDB Search는 검색 signature 텀 대한 결과를 반환하지 않습니다.

다음 표는 standard 토크나이저와 이와는 대조적인 keyword 분석기가 _id: 4를 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

write, down, your, signature, or, phone

keyword

write down your signature or phone №

The uaxUrlEmail tokenizer tokenizes URLs and email addresses. Although uaxUrlEmail tokenizer tokenizes based on word break rules from the Unicode Text Segmentation algorithm, we recommend using uaxUrlEmail tokenizer only when the indexed field value includes URLs and email addresses. For fields that don't include URLs or email addresses, use the standard tokenizer to create tokens based on word break rules.

uaxUrlEmail 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 uaxUrlEmail이어야 합니다.

maxTokenLength

int

no

하나의 토큰에 포함될 수 있는 최대 문자 수입니다.

기본값: 255

uaxUrlEmail 토크나이저 사용하여 간단한 인덱스 만듭니다.

The following index definition indexes the page_updated_by.email field in the minutes collection using a custom analyzer named basicEmailAddressAnalyzer. It uses the uaxUrlEmail tokenizer to create tokens (searchable terms) from URLs and email addresses in the page_updated_by.email field.

다음 쿼리는 minutes 컬렉션의 page_updated_by.email 필드에서 이메일 lewinsky@example.com을(를) 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 3 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 lewinsky@example.com 포함된 uaxUrlEmail 문서 를 반환합니다. standard 토크나이저 사용하여 page_updated_by.email 필드 인덱스 하면 MongoDB Search는 검색 lewinsky@example.com 텀 대한 모든 문서를 반환합니다.

다음 표는 uaxUrlEmail 토크나이저와 이와는 대조적인 standard 토크나이저가 _id: 3을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

lewinsky, example.com

uaxUrlEmail

lewinsky@example.com

자동 완성 토큰화 전략이 포함된 uaxUrlEmail 토크나이저 사용하여 인덱스 생성합니다.

다음 인덱스 정의는 emailAddressAnalyzer라는 사용자 지정 분석기를 사용하여 minutes collection의 page_updated_by.email 필드를 인덱싱합니다. 다음을 사용합니다.

다음 page_updated_by.email 쿼리는 minutes 컬렉션의 필드에서 용어 exam를 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 3 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 lewinsky@example.com 포함된 uaxUrlEmail 문서 를 반환합니다. standard 토크나이저 사용하여 page_updated_by.email 필드 인덱스 하면 MongoDB Search는 검색 lewinsky@example.com 텀 대한 모든 문서를 반환합니다.

다음 표는 uaxUrlEmail 토크나이저와 이와는 대조적인 standard 토크나이저가 _id: 3을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
MongoDB 검색 필드 유형
Token Outputs

standard

autocomplete edgeGram

le, lew, lewi, lewin, lewins, lewinsk, lewinsky, lewinsky@, lewinsky, ex, exa, exam, examp, exampl, example, example., example.c, example.co, example.com

uaxUrlEmail

autocomplete edgeGram

le, lew, lewi, lewin, lewins, lewinsk, lewinsky, lewinsky@, lewinsky@e, lewinsky@ex, lewinsky@exa, lewinsky@exam, lewinsky@examp, lewinsky@exampl

whitespace 토크나이저는 단어 사이의 공백 발생을 기반으로 토큰화합니다.

whitespace 토크나이저에는 다음과 같은 속성이 있습니다.

이름
유형
필수 사항입니다.
설명

type

문자열

이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 whitespace이어야 합니다.

maxTokenLength

integer

no

단일 토큰의 최대 길이입니다. 이 길이보다 큰 토큰은 maxTokenLength에서 여러 토큰으로 분할됩니다.

기본값: 255

다음 인덱스 정의는 whitespaceExample이라는 사용자 지정 분석기를 사용하여 minutes collection의 message 필드를 인덱싱합니다. whitespace 토크나이저를 사용하여 message 필드의 모든 공백에서 토큰(검색 가능한 용어)을 생성합니다.

다음 message 쿼리는 minutes 컬렉션의 필드에서 용어 SIGN-IN를 검색합니다.

MongoDB Search는 검색 텀 일치하는 문서의 {MongoDB} _id: 3 토크나이저 사용하여 값이 인 토큰을 생성했기 때문에 결과에 이 sign-in 포함된 whitespace 문서 를 반환합니다. standard 토크나이저 사용하여 message 필드 인덱스 하면 MongoDB Search는 검색 sign-in 텀 대해 _id: 1, _id: 2, _id: 3 이 포함된 문서를 반환합니다.

다음 표는 whitespace 토크나이저와 이와는 대조적인 standard 토크나이저가 _id: 3을 사용하여 문서에 대해 생성하는 토큰을 보여줍니다.

토크나이저
Token Outputs

standard

try, to, sign, in

whitespace

try, to, sign-in