숫자 값 인덱스 생성 방법
Atlas Search number
유형을 사용하여 int32
, int64
및 double
데이터 유형의 숫자 값이 있는 필드를 인덱싱할 수 있습니다. 등호호, 범위 및 근거리 연산자를 사용하여 number
유형의 인덱싱된 필드를 쿼리할 수 있습니다.
참고
배열의 숫자 값을 쿼리하려면 범위 연산자만 사용할 수 있습니다.
Atlas Search는 패싯의 숫자 값을 자동으로 인덱싱하지 않습니다. 대신 숫자 필드에 대해 패싯 쿼리를 실행하려면 NumberFacet을 사용하여 숫자 값을 인덱싱해야 합니다.
2023년 7월 이후에 생성된 인덱스의 모든 숫자 필드를 자동으로 인덱싱하여 Atlas Search 결과를 정렬 합니다. 기존 인덱스의 경우 정렬을 위해 인덱스의 숫자 필드를 사용하려면 인덱스를 다시 작성해야 합니다. 자세한 내용은 기존 인덱스 업데이트 및 Atlas Search 결과 정렬을 참조하세요.
동적 매핑을 활성화하면 Atlas Search에서 number
유형의 필드를 자동으로 인덱싱합니다. Atlas UI의 비주얼 에디터 또는 JSON 에디터를 사용하여 필드를 number
유형으로 인덱싱할 수 있습니다.
0} 유형에 대한 number
인덱스 정의
인덱스를 구성하려면 Refine Your Index를 클릭합니다.
Field Mappings 섹션에서 Add Field Mapping 을 클릭하여 Add Field Mapping창을 엽니다.
Customized Configuration를 클릭합니다.
Field Name 드롭다운에서 인덱스할 필드를 선택합니다.
참고
필드 이름 시작 부분에 달러(
$
) 기호가 포함된 필드는 인덱싱할 수 없습니다.Data Type 드롭다운을 클릭하여 Number를 선택합니다.
number
유형에 대한 필드 속성을 구성합니다. 자세한 내용은필드 속성을 참조하세요.Add를 클릭합니다.
다음은 number
유형에 대한 JSON 구문입니다. 기본값 인덱스 정의를 다음으로 변경합니다. 필드에 대한 자세한 내용은 필드 속성을 참조하세요.
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "number", "representation": "int64|double", "indexIntegers": true|false, "indexDoubles": true|false } } } }
0}number
필드 속성 구성
Atlas Search number
유형은 다음 매개 변수를 사용합니다.
UI 필드 이름 | JSON Option | 유형 | 필요성 | 설명 | 기본값 |
---|---|---|---|---|---|
Data Type | type | 문자열 | 필수 사항 | 이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 number 이어야 합니다. | |
Representation | representation | 문자열 | 옵션 | 인덱싱할 필드의 데이터 유형입니다. 값은 다음과 같습니다.
자세한 내용은 아래 예시를 참조하세요. | double |
Index Integers | indexIntegers | 부울 | 옵션 | int32 및 int64 유형 값을 인덱싱할지 또는 인덱싱을 생략할지를 나타내는 플래그입니다. 값은 true 또는 false 일 수 있습니다. 이 값 또는 indexDoubles 가 true 여야 합니다. 자세한 내용은 아래 예시를 참조하세요. | true |
Index Doubles | indexDoubles | 부울 | 옵션 | double 유형 값을 인덱싱할지 또는 인덱싱을 생략할지를 나타내는 플래그입니다. 값은 true 또는 false 일 수 있습니다. 이 값 또는 indexIntegers 가 true 여야 합니다. 자세한 내용은 아래 예시를 참조하세요. | true |
유형<a class=\" \" href=\" \" title=\" \"><svg xmlns=\" \" width=\" \" height=\" \" fill=\" \" viewbox=\" \"number
class=\" \" role=\" \" aria-label=\" \"><path fill=\" \" d=\" \"> <path fill=\" \" d=\" \"> 에 대한 예시를 사용해 보세요.
다음 인덱스 정의 예에서는 샘플 데이터에 여러 컬렉션을 사용합니다. 클러스터에 이미 샘플 데이터가 로드되어 있는 경우, 시각적 편집기 및 JSON 편집기를 사용하여 이러한 인덱스를 구성할 수 있습니다. 원하는 구성 방법을 선택한 후 데이터베이스와 컬렉션을 선택하고 인덱스를 구체화하여 필드 매핑을 추가합니다.
샘플 데이터세트의 sample_analytics.accounts
컬렉션에 대한 다음 인덱스 정의는 64비트 정수 값으로 account_id
필드를 인덱싱합니다. 다음 예시도 마찬가지입니다.
account_id
필드에 있는 다른 모든 정수 값을 인덱싱합니다.모든 소수점 값을 반올림하고
account_id
필드에 있는 작은 double 유형 값을 인덱싱합니다.
Add Field Mapping 창의 Field Name 드롭다운에서 account_id 을 선택합니다.
Data Type 드롭다운을 클릭하여 Number를 선택합니다.
Number Properties을(를) 수정하여 다음을 설정합니다.
Representation
int64
.Index Integers
true
.Index Doubles
true
.
Add를 클릭합니다.
기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.
{ "mappings": { "dynamic": false, "fields": { "account_id": { "type": "number", "representation": "int64" } } } }
샘플 데이터세트의 sample_analytics.accounts
컬렉션에 대한 다음 인덱스 정의는 정수 값을 인덱싱하고 account_id
의 더블 값을 생략합니다.
Add Field Mapping 창의 Field Name 드롭다운에서 account_id 을 선택합니다.
Data Type 드롭다운을 클릭하여 Number를 선택합니다.
Number Properties을(를) 수정하여 다음을 설정합니다.
Representation
int64
.Index Integers
true
.Index Doubles
false
.
Add를 클릭합니다.
기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.
{ "mappings": { "dynamic": false, "fields": { "account_id": { "type": "number", "representation": "int64", "indexDoubles": false } } } }
샘플 데이터세트의 sample_airbnb.listingsAndReviews
컬렉션에 대한 다음 인덱스 정의는 double
유형 값을 인덱싱하고 bathrooms
필드에서 32비트 및 64비트 정수 값을 생략합니다.
Add Field Mapping 창의 Field Name 드롭다운에서 bathrooms 을 선택합니다.
Data Type 드롭다운을 클릭하여 Number를 선택합니다.
Number Properties을(를) 수정하여 다음을 설정합니다.
Representation
doubles
.Index Integers
false
.Index Doubles
true
.
Add를 클릭합니다.
기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.
{ "mappings": { "dynamic": false, "fields": { "bathrooms": { "type": "number", "indexIntegers": false } } } }