분석기로 데이터 처리
분석기를 사용하여 Atlas Search가 string
필드의 콘텐츠를 검색 가능한 용어로 변환하는 방법을 제어할 수 있습니다. 분석기는 텍스트에서 토큰을 추출하는 토크나이저와 사용자가 정의한 필터를 결합하는 정책입니다. Atlas Search는 토큰에 필터를 적용하여 구두점, 대문자, 필러 단어 등의 차이를 보정하는 인덱스 가능한 용어를 생성합니다.
Atlas Search 에서 인덱스 를 작성하거나 데이터베이스 검색할 때 사용할 분석기를 인덱스 정의에 지정할 수 있습니다. 개별 필드를 인덱싱 할 때 사용할 대체(다중) 분석기 를 지정하거나 사용자 지정 분석기를 정의할 수도 있습니다.
구문
다음 탭에는 인덱스 정의에서 구성할 수 있는 분석기 옵션의 구문이 나와 있습니다.
Atlas Search 인덱스 정의에서 analyzer
옵션을 사용하여 인덱스 구축할 때 문자열 필드에 적용 Atlas Search 용 인덱스 분석기 지정할 수 있습니다.
필드 의 mappings.fields
정의 내에서 필드 에 다른 분석기 지정하지 않는 한, Atlas Search 인덱스 정의의 모든 필드에 최상위 분석기 적용합니다.
analyzer
옵션을 생략하면 Atlas Search 기본적으로 표준 분석기를 사용합니다.
1 { 2 "analyzer": "<analyzer-for-index>", 3 "mappings": { 4 "fields": { 5 "<string-field-name>": { 6 "type": "string", 7 "analyzer": "<analyzer-for-field>" 8 } 9 } 10 } 11 }
Atlas Search 인덱스 정의에서 searchAnalyzer
옵션을 사용하여 쿼리 텍스트에 적용 Atlas Search 용 검색 분석기 지정할 수 있습니다.
searchAnalyzer
옵션을 생략하면 Atlas Search 기본적으로 analyzer
옵션에 지정한 분석기 사용합니다. 두 옵션을 모두 생략하면 Atlas Search 기본적으로 표준 분석기를 사용합니다.
1 { 2 "searchAnalyzer": "<analyzer-for-query>", 3 "mappings": { 4 "dynamic": <boolean>, 5 "fields": { <field-definition> } 6 } 7 }
Atlas Search Atlas Search 인덱스 에서 multi
옵션을 사용하여 인덱스 구축할 때 문자열 필드에 적용 대체 분석기 지정할 수 있습니다.
Atlas Search 쿼리에서 대체 분석기 사용하려면 쿼리 연산자의 쿼리 경로의 multi
필드에 대체 분석기의 이름을 지정해야 합니다.
자세한 내용은 다중 분석기를 참조하세요.
1 { 2 "mappings": { 3 "fields": { 4 "<string-field-name>": { 5 "type": "string", 6 "analyzer": "<default-analyzer-for-field>", 7 "multi": { 8 "<alternate-analyzer-name>": { 9 "type": "string", 10 "analyzer": "<alternate-analyzer-for-field>" 11 } 12 } 13 } 14 } 15 } 16 }
Atlas Search 인덱스 의 analyzers
옵션을 사용하여 문자 시퀀스를 변환, 필터하다 및 그룹 하나 이상의 사용자 지정 분석기를 정의할 수 있습니다.
정의한 사용자 지정 분석기 사용하려면 인덱스 정의의 analyzer
, searchAnalyzer
또는 multi.analyzer
옵션에 name
값을 지정합니다.
1 { 2 "mappings": { 3 "dynamic": <boolean>, 4 "fields": { <field-definition> } 5 }, 6 "analyzers": [ 7 { 8 "name": "<custom-analyzer-name>", 9 "tokenizer": { 10 "type": "<tokenizer-type>" 11 } 12 } 13 ] 14 }
참조 항목: 보면서 배우기
이 동영상을 시청하여 Atlas Search 분석기를 사용하여 문서를 검색 가능한 단위로 나누고 역 인덱스 빌드 방법을 확인합니다.
소요 시간: 8분
분석기
Atlas Search는 다음과 같은 내장 분석기를 제공합니다.
분석기 | 설명 |
---|---|
모든 Atlas Search 인덱스 및 쿼리에 기본 분석기를 사용합니다. | |
문자가 아닌 문자를 발견할 때마다 텍스트를 검색 가능한 용어로 나눕니다. | |
공백 문자를 발견할 때마다 텍스트를 검색 가능한 용어로 나눕니다. | |
텍스트 필드를 단일 용어로 인덱싱합니다. | |
언어별 텍스트 분석기 세트를 제공합니다. |
인덱스 정의에 분석기 지정하지 않으면 MongoDB 기본값 표준 분석기 사용합니다.
정규화 도구
정규화 도구는 분석이 끝날 때 하나의 토큰만 생성합니다. 정규화 도구는 Atlas Search 토큰 유형에 대한 필드 정의에서만 구성할 수 있습니다. Atlas Search는 다음과 같은 정규화 도구를 제공합니다.
정규화 도구 | 설명 |
---|---|
| 문자열 필드의 텍스트를 소문자로 변환하고 전체 문자열에 대한 단일 토큰을 생성합니다. |
| 변환을 수행하지 않지만 여전히 단일 토큰을 생성합니다. |
자세히 알아보기
분석기에 대해 자세히 알아보려면 MongoDB 개발자 센터에서 분석기를 분석하여 앱에 적합한 검색 인덱스 구축하기를 참조하세요.