Docs Menu
Docs Home
/
MongoDB Atlas
/ / / /

숫자 값 인덱스 생성 방법

이 페이지의 내용

  • number 유형에 대한 인덱스 정의
  • 0}number 필드 속성 구성
  • 0} 유형에 대한 예시를 사용해 보세요.number

Atlas Search number 유형을 사용하여 int32, int64double데이터 유형의 숫자 값이 있는 필드를 인덱싱할 수 있습니다. 등호호, 범위근거리 연산자를 사용하여 number 유형의 인덱싱된 필드를 쿼리할 수 있습니다.

참고

배열의 숫자 값을 쿼리하려면 범위 연산자만 사용할 수 있습니다.

Atlas Search는 패싯의 숫자 값을 자동으로 인덱싱하지 않습니다. 대신 숫자 필드에 대해 패싯 쿼리를 실행하려면 NumberFacet을 사용하여 숫자 값을 인덱싱해야 합니다.

2023년 7월 이후에 생성된 인덱스의 모든 숫자 필드를 자동으로 인덱싱하여 Atlas Search 결과를 정렬 합니다. 기존 인덱스의 경우 정렬을 위해 인덱스의 숫자 필드를 사용하려면 인덱스를 다시 작성해야 합니다. 자세한 내용은 기존 인덱스 업데이트Atlas Search 결과 정렬을 참조하세요.

동적 매핑을 활성화하면 Atlas Search에서 number 유형의 필드를 자동으로 인덱싱합니다. Atlas UI의 비주얼 에디터 또는 JSON 에디터를 사용하여 필드를 number 유형으로 인덱싱할 수 있습니다.

  1. 인덱스를 구성하려면 Refine Your Index를 클릭합니다.

  2. Field Mappings 섹션에서 Add Field Mapping 을 클릭하여 Add Field Mapping창을 엽니다.

  3. Customized Configuration를 클릭합니다.

  4. Field Name 드롭다운에서 인덱스할 필드를 선택합니다.

    참고

    필드 이름 시작 부분에 달러($) 기호가 포함된 필드는 인덱싱할 수 없습니다.

  5. Data Type 드롭다운을 클릭하여 Number를 선택합니다.

  6. number 유형에 대한 필드 속성을 구성합니다. 자세한 내용은필드 속성을 참조하세요.

  7. Add를 클릭합니다.

다음은 number 유형에 대한 JSON 구문입니다. 기본값 인덱스 정의를 다음으로 변경합니다. 필드에 대한 자세한 내용은 필드 속성을 참조하세요.

{
"mappings": {
"dynamic": true|false,
"fields": {
"<field-name>": {
"type": "number",
"representation": "int64|double",
"indexIntegers": true|false,
"indexDoubles": true|false
}
}
}
}

Atlas Search number 유형은 다음 매개 변수를 사용합니다.

UI 필드 이름
JSON Option
유형
필요성
설명
기본값
Data Type
type
문자열
필수 사항
이 토크나이저 유형을 식별하는 사람이 읽을 수 있는 레이블입니다. 값은 number이어야 합니다.
Representation
representation
문자열
옵션

인덱싱할 필드의 데이터 유형입니다. 값은 다음과 같습니다.

  • int64 - 정밀도 손실 없이 큰 정수를 인덱싱하고 double 값을 정수로 반올림하는 데 사용됩니다. 이 유형은 큰 double 값을 인덱싱하는 데 사용할 수 없습니다.

  • double - 큰 double 값을 반올림하지 않고 인덱싱하는 데 사용됩니다.

자세한 내용은 아래 예시를 참조하세요.

double
Index Integers
indexIntegers
부울
옵션
int32int64 유형 값을 인덱싱할지 또는 인덱싱을 생략할지를 나타내는 플래그입니다. 값은 true 또는 false일 수 있습니다. 이 값 또는 indexDoublestrue여야 합니다. 자세한 내용은 아래 예시를 참조하세요.
true
Index Doubles
indexDoubles
부울
옵션
double 유형 값을 인덱싱할지 또는 인덱싱을 생략할지를 나타내는 플래그입니다. 값은 true 또는 false일 수 있습니다. 이 값 또는 indexIntegerstrue여야 합니다. 자세한 내용은 아래 예시를 참조하세요.
true

다음 인덱스 정의 예에서는 샘플 데이터에 여러 컬렉션을 사용합니다. 클러스터에 이미 샘플 데이터가 로드되어 있는 경우, 시각적 편집기 및 JSON 편집기를 사용하여 이러한 인덱스를 구성할 수 있습니다. 원하는 구성 방법을 선택한 후 데이터베이스와 컬렉션을 선택하고 인덱스를 구체화하여 필드 매핑을 추가합니다.

샘플 데이터세트sample_analytics.accounts 컬렉션에 대한 다음 인덱스 정의는 64비트 정수 값으로 account_id 필드를 인덱싱합니다. 다음 예시도 마찬가지입니다.

  • account_id 필드에 있는 다른 모든 정수 값을 인덱싱합니다.

  • 모든 소수점 값을 반올림하고 account_id 필드에 있는 작은 double 유형 값을 인덱싱합니다.

  1. Add Field Mapping 창의 Field Name 드롭다운에서 account_id 을 선택합니다.

  2. Data Type 드롭다운을 클릭하여 Number를 선택합니다.

  3. Number Properties을(를) 수정하여 다음을 설정합니다.

    • Representation int64.

    • Index Integers true.

    • Index Doubles true.

  4. Add를 클릭합니다.

기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.

{
"mappings": {
"dynamic": false,
"fields": {
"account_id": {
"type": "number",
"representation": "int64"
}
}
}
}

샘플 데이터세트sample_analytics.accounts 컬렉션에 대한 다음 인덱스 정의는 정수 값을 인덱싱하고 account_id의 더블 값을 생략합니다.

  1. Add Field Mapping 창의 Field Name 드롭다운에서 account_id 을 선택합니다.

  2. Data Type 드롭다운을 클릭하여 Number를 선택합니다.

  3. Number Properties을(를) 수정하여 다음을 설정합니다.

    • Representation int64.

    • Index Integers true.

    • Index Doubles false.

  4. Add를 클릭합니다.

기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.

{
"mappings": {
"dynamic": false,
"fields": {
"account_id": {
"type": "number",
"representation": "int64",
"indexDoubles": false
}
}
}
}

샘플 데이터세트sample_airbnb.listingsAndReviews 컬렉션에 대한 다음 인덱스 정의는 double 유형 값을 인덱싱하고 bathrooms 필드에서 32비트 및 64비트 정수 값을 생략합니다.

  1. Add Field Mapping 창의 Field Name 드롭다운에서 bathrooms 을 선택합니다.

  2. Data Type 드롭다운을 클릭하여 Number를 선택합니다.

  3. Number Properties을(를) 수정하여 다음을 설정합니다.

    • Representation doubles.

    • Index Integers false.

    • Index Doubles true.

  4. Add를 클릭합니다.

기본 인덱스 정의를 다음 인덱스 정의로 바꾸세요.

{
"mappings": {
"dynamic": false,
"fields": {
"bathrooms": {
"type": "number",
"indexIntegers": false
}
}
}
}

돌아가기

knnVector