Atlas Search는 다양한 방식으로 데이터를 인덱싱할 수 있습니다. Atlas Search 인덱스를 정의할 때 특정 분석기 또는 여러 분석기를 지정하여 특정 필드를 인덱싱할 수 있습니다. 자세한 내용은 분석기를 사용한 데이터 처리를 참조하세요. 특정 필드를 인덱싱하고 다른 필드는 생략하거나 컬렉션의 모든 필드를 동적으로 인덱싱할 수도 있습니다. 자세한 내용은 필드 매핑 정의를 참조하세요. Atlas UI, Atlas Search API, Atlas CLI, mongosh
또는 드라이버를 통해 Atlas Search 인덱스를 정의할 수 있습니다.
이 페이지에서는 Atlas Search 인덱스의 JSON 구문 및 필드에 대해 설명합니다.
중요
$out 집계 단계를 사용하여 Atlas Search 인덱스가 있는 컬렉션을 수정하는 경우 검색 인덱스를 삭제하고 다시 생성해야 합니다. 가능하면 $out
대신 $merge를 사용하는 것이 좋습니다.
1 | { |
2 | "mappings": { |
3 | "dynamic": <boolean>, |
4 | "fields": { <field-definition> } |
5 | } |
6 | } |
7 | |
1 | { |
2 | "analyzer": "<analyzer-for-index>", |
3 | "searchAnalyzer": "<analyzer-for-query>", |
4 | "mappings": { |
5 | "dynamic": <boolean>, |
6 | "fields": { <field-definition> } |
7 | }, |
8 | "numPartitions": 4, |
9 | "analyzers": [ <custom-analyzer> ], |
10 | "storedSource": <boolean> | { |
11 | <stored-source-definition> |
12 | }, |
13 | "synonyms": [ |
14 | { |
15 | "name": "<synonym-mapping-name>", |
16 | "source": { |
17 | "collection": "<source-collection-name>" |
18 | }, |
19 | "analyzer": "<synonym-mapping-analyzer>" |
20 | } |
21 | ] |
22 | } |
23 | |
필드 | 유형 | 필요성 | 설명 |
---|
| | | 인덱싱할 때 문자열 필드에 적용할 분석기를 지정합니다. 이 옵션을 맨 위에만 설정하고 인덱스 정의에서 필드에 대한 분석기를 지정하지 않으면 Atlas Search에서 이 분석기를 모든 필드에 적용합니다. 각 필드에 대해 다른 분석기를 사용하려면 해당 필드에 다른 분석기를 지정해야 합니다. 지정하지 않으면 기본적으로 표준 분석기가 사용됩니다. |
| | | |
| | | 이 인덱스에 대해 서로 다른 경로에서 필드를 인덱싱하는 방법을 지정합니다. |
| | | 이 인덱스에 대한 필드의 동적 매핑을 사용하거나 사용하지 않도록 설정합니다. true 로 설정하면 Atlas Search는 동적으로 인덱싱할 수 있는 모든 필드를 재귀적으로 인덱싱합니다.
false 로 설정하면 mappings.fields 를 사용하여 인덱싱할 개별 필드를 지정해야 합니다.
생략하는 경우 기본값은 false 입니다. 중요: Atlas Search는 감지된 데이터 유형에 대한 기본 설정을 사용하여 document 의 모든 필드를 동적으로 인덱싱합니다. dynamic 을 false 로 설정하여 명시적으로 재정의하지 않는 한, Atlas Search는 document 아래에 있는 모든 중첩된 문서도 동적으로 인덱싱합니다. 인덱스 구성의 예시는 정적 매핑 예시 또는 결합된 매핑 예시를 참조하세요. |
| | | 인덱싱할 필드를 지정합니다. 동적 매핑이 비활성화된 경우에만 필요합니다. 필드 이름 시작 부분에 달러($ ) 기호가 포함된 필드는 인덱싱할 수 없습니다. 자세한 내용은 필드 매핑 정의를 참조하세요. |
| | | 검색하기 전에 쿼리 텍스트에 적용할 분석기를 지정합니다. 지정하지 않으면 analyzer 옵션에 지정한 분석기가 기본값으로 사용됩니다. searchAnalyzer 및 analyzer 옵션을 모두 지정하지 않으면 기본값은 표준 분석기로 설정됩니다. |
| | | 문서 수가 20억 개를 초과하는 경우 생성할 하위 인덱스의 수를 지정합니다. 유효한 값은 1 , 2 , 4 , 8 , 16 , 32 , 64 입니다. 생략하면 기본값은 1 입니다. 인덱스 파티션을 사용하려면 클러스터 에 검색 노드가 배포되어 있어야 합니다. 옵션은 numPartitions 미리보기 기능 으로 사용할 수 있습니다. |
| | | returnedStoredSource 옵션을 사용하여 쿼리 시간 조회를 위해 저장할 문서 내 필드를 지정합니다. Atlas Search에서 모든 데이터 유형의 필드를 저장할 수 있습니다. 값은 다음 중 하나일 수 있습니다. storedSource 은 다음 버전 중 하나를 실행하는 Atlas 클러스터에서만 사용할 수 있습니다.
MongoDB 5.0.6+ MongoDB 6.0+ MongoDB 7.0+
생략하는 경우 기본값은 false 입니다. 자세히 알아보려면 Atlas Search 인덱스에 저장된 소스 필드 정의를 참조하세요. |
| | | |