문서 메뉴
문서 홈
/
MongoDB Atlas
/ /

Atlas Search 인덱스 만들기

이 페이지의 내용

  • 전제 조건
  • 필요한 액세스 권한
  • Atlas UI를 사용하여 Atlas Search 인덱스 만들기
  • Atlas Search API를 사용하여 Atlas Search 인덱스 만들기
  • Atlas CLI를 사용하여 Atlas Search 인덱스 만들기
  • MongoDB Compass를 사용하여 Atlas Search 인덱스 만들기
  • 프로그래밍 방식으로 Atlas Search 인덱스 생성
  • 노드 상태

Atlas Search 인덱스는 데이터를 쉽게 검색할 수 있는 형식으로 분류하는 데이터 구조입니다. 용어와 해당 용어가 포함된 문서 간의 매핑입니다. Atlas Search 인덱스를 사용하면 특정 식별자를 사용하여 문서를 더 빠르게 검색할 수 있습니다. Atlas Search를 사용하여 Atlas 클러스터의 데이터를 쿼리하려면 Atlas Search 인덱스를 구성해야 합니다.

단일 필드 또는 여러 필드에 대해 Atlas Search 인덱스를 만들 수 있습니다. 쿼리 시점에 관련 데이터를 포함하는 문서를 빠르게 검색할 수 있도록, 데이터를 정렬하거나 필터링하는 데 정기적으로 사용하는 필드를 인덱싱하는 것이 좋습니다.

Atlas UI, API , Atlas CLITerraform 을통해 Atlas cluster의 시계열컬렉션을 제외한 모든 컬렉션에 대한 Atlas Search 인덱스를 만들 수 있습니다.

중요

$out 애그리게이션 단계를 사용하여 Atlas Search 인덱스가 있는 컬렉션을 수정하는 경우 검색 인덱스를 삭제하고 다시 만들어야 합니다. 가능하면 $out 대신 $merge 를 사용하는 것이 좋습니다.

Atlas Search 인덱스를 만들려면 다음이 포함된 Atlas 클러스터가 있어야 합니다:

  • MongoDB 버전 4.2 또는 그 이상

  • Atlas Search 인덱스를 생성할 컬렉션

다음 표는 각 역할이 지원하는 액세스 모드를 보여줍니다.

역할
작업
Atlas UI
Atlas API
Atlas Search API
Atlas CLI
Project Data Access Read Only 이상의 역할
Atlas Search 분석기 및 인덱스를 보려면 다음 단계를 따르세요.
Project Data Access Admin 이상의 역할
Atlas Search 분석기 및 인덱스를 생성 및 관리하고 API 키에 역할을 할당합니다.
API 키에 대한 액세스 목록 항목을 생성 하고 API 키에 대한 액세스 목록에 나타나는 클라이언트에서 요청을 보냅니다.
Atlas UI 또는 API를 사용하여 Atlas Search 인덱스를 생성, 확인, 편집 및 삭제합니다.

참고

초과하여 만들 수 없습니다.

  • M0 클러스터의 인덱스 3개.

  • M2 클러스터의 인덱스 5개.

  • M5 클러스터의 인덱스 10개.

M10+ 클러스터에 생성할 수 있는 색인 수에는 제한이 없습니다.

새 Atlas Search 인덱스를 생성할 때 구성 방법을 선택하세요.

Atlas Search 인덱스 생성 모달 창 스크린샷
클릭하여 확대

만들려는 인덱스의 유형을 지정할 수 있습니다. $search 쿼리의 경우 type을 명시적으로 지정하지 않으면 type이 기본적으로 search 쿼리로 지정됩니다.

기본 인덱스 정의를 사용하거나 인덱스에 대한 사용자 정의를 지정할 수 있습니다. 기본 인덱스 정의는 문서의 필드에 대한 동적 매핑이며 모든 컬렉션에서 작동합니다. 정적 매핑을 위한 사용자 지정 인덱스 정의를 생성하고자 한다면, 어떤 분석기를 사용하여 어떤 데이터 유형으로 어떤 필드를 인덱싱할 것인지 지정할 수 있습니다.

인덱스 이름은 기본값이 default입니다. 기본 이름을 그대로 두거나 원하는 이름을 선택할 수 있습니다.

참고

인덱스 이름을 default으로 지정하면 $search 파이프라인 단계를 사용할 때 index 매개 변수를 지정할 필요가 없습니다. 그렇지 않으면 index 매개 변수를 사용하여 인덱스 이름을 지정해야 합니다.

인덱스 이름은 네임스페이스 내에서 고유해야 합니다.

다양한 복잡성의 Atlas Search 인덱스를 생성하는 방법을 보여주는 이 비디오 튜토리얼을 따라해 보세요.

지속 시간 소요 시간: 15분

Atlas UI에서 Atlas Search 인덱스를 만들려면 다음과 같이 하세요:

1

Atlas의 왼쪽 상단에 있는 Database 클릭하여 프로젝트의 Clusters 페이지로 이동합니다.

2
3
4

Create Search Index를 클릭합니다.

5
  • 안내를 따라 진행하고자 할 때는 Atlas Search Visual Editor를 선택합니다.

  • 원시 인덱스 정의를 편집하고 싶다면, Atlas Search JSON Editor을 선택합니다.

6
  1. Index Name 필드에 인덱스의 이름을 입력합니다.

    참고

    인덱스 이름을 default으로 지정하면 $search 파이프라인 단계를 사용할 때 index 매개 변수를 지정할 필요가 없습니다. 그렇지 않으면 index 매개 변수를 사용하여 인덱스 이름을 지정해야 합니다.

  2. Database and Collection 섹션에서 데이터베이스 또는 컬렉션을 찾고 컬렉션 이름을 선택합니다.

  3. Visual Editor 를 사용하는 경우Next를 클릭합니다.

7

기본 구성에 만족하는 경우 10단계로 건너뜁니다. Atlas Search 인덱스를 세분화하려면 다음 단계로 진행하세요.

8
9

참고

Visual Editor 를 사용하고 인덱스 정의에 정적 매핑 이 포함되어 있는 경우 인덱스 정의를 초안으로 저장할 수 있습니다. 기본 인덱스 정의 는 초안으로 저장할 수 없습니다. 사용자 지정 인덱스 정의 만 초안으로 저장할 수 있습니다.

  1. Cancel를 클릭합니다.

  2. Save Draft 또는 Delete Draft를 클릭합니다.

중요

보류 중인 인덱스 초안이 있는 경우 새 인덱스를 만들 수 없습니다.

인덱스 초안을 사용하여 인덱스를 만드는 방법에 대해 자세히 알아보려면 Atlas Search 인덱스 초안 재개 또는 삭제를 참조하세요.

10
11

인덱스가 작성 중임을 보여주는 모달 창이 표시됩니다. Close 버튼을 클릭합니다.

12

새로 생성된 인덱스가 Atlas Search 탭에 나타납니다. 인덱스가 빌드되는 동안 Status 필드는 Build in Progress를 읽습니다. 인덱스 빌드가 완료되면 Status 필드에 Active가 표시됩니다.

참고

컬렉션이 클수록 인덱스를 생성하는 데 시간이 더 오래 걸립니다. 인덱스 빌드가 완료되면 이메일 알림을 받게 됩니다.

Atlas Search 인덱스를 만들려면 fts/indexes 엔드포인트POST 요청을 보냅니다. 이 엔드포인트의 구문 및 매개변수에 대해 자세히 알아보려면 엔드포인트 생성을 참조하세요.

참고

컬렉션이 존재하지 않는 경우 Atlas는 인덱스를 생성하지 않지만 여전히 200 상태를 반환합니다.

Atlas CLI를 사용하여 만든 로컬 Atlas 배포와 함께 Atlas Search를 사용할 수도 있습니다. 자세히 알아보려면 로컬 Atlas 배포 만들기를 참조하세요.

Atlas CLI를 사용하여 클러스터에 대한 검색 인덱스를 생성하려면 다음 명령을 실행하세요.

atlas clusters search indexes create [indexName] [options]

명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas cluster 검색 인덱스 생성을 참조하십시오.

참조: 관련 링크

Atlas CLI를 사용하여 지정된 배포에 대한 검색 인덱스를 생성하려면 다음 명령을 실행하세요.

atlas deployments search indexes create [indexName] [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 검색 인덱스가 생성하는 atlas 배포서버에 대한 Atlas CLI 설명서를 참조하세요.

MongoDB 7 를 실행하는 M10 이상의 Atlas cluster에서 Atlas Search 인덱스를 만들 수 있습니다. Compass에서 0 이상.

1

Compass 를 열고 Atlas 클러스터에 연결합니다. 연결에 대한 자세한 내용은 Compass를 통한 연결을 참조하세요.

2

Database 화면에서 데이터베이스 이름을 클릭한 다음 컬렉션 이름을 클릭합니다.

3
  1. Indexes 탭을 클릭한 다음 Search Indexes 을 선택합니다.

  2. Create Index 을 클릭하여 인덱스 생성 대화 상자를 엽니다.

  3. 인덱스의 이름을 지정한 다음 검색 인덱스 정의를 지정합니다.

    인덱스 이름

    default

    인덱스 정의
    {
    mappings: { dynamic: true }
    }
  4. Create Search Index를 클릭합니다.

mongosh 또는 지원되는 MongoDB 드라이버 를 원하는 언어로 사용하여 프로그래밍 방식으로 Atlas Search 인덱스를 만들 수 있습니다.

참고

mongosh 명령 또는 드라이버 헬퍼 메서드를 사용하여 M0, M2 또는 M5 Atlas 클러스터에서 Atlas Search 인덱스를 생성할 수 없습니다. mongosh 또는 드라이버를 사용하여 Atlas Search 인덱스를 만들려면 전용 클러스터 계층으로 업그레이드하세요.

인덱스가 포함된 데이터베이스에 대해 최소한 readWriteAnyDatabase 역할 또는 readWrite 액세스 권한이 있어야 합니다. 자세히 알아보려면 기본 제공 역할 또는 특정 권한을참조하세요.


언어 선택 드롭다운 메뉴를 사용하여 이 섹션에 있는 예제의 언어를 설정합니다.


Atlas Search 인덱스를 생성하면, Atlas UI의 오른쪽 패널에 있는 Atlas Search 인덱스 탭에 선택한 네임스페이스에 대한 Atlas Search 인덱스에 대한 정보가 표시됩니다. Status 열은 클러스터의 기본 노드에 있는 인덱스의 현재 상태를 표시합니다. 상태 아래에 있는 View status details 링크를 클릭하면 클러스터의 모든 노드에 있는 인덱스 상태를 볼 수 있습니다.

Atlas Search 인덱스 정보 패널 스크린샷
클릭하여 확대

Status 열이 Active로 표시되면 인덱스가 사용할 준비가 된 것입니다. 다른 상태에서는 인덱스에 대한 쿼리가 불완전한 결과를 반환할 수 있습니다.

상태
설명
시작되지 않음
Atlas가 아직 인덱스 빌드를 시작하지 않았습니다.
초기 동기화

Atlas가 인덱스를 작성하거나 편집 후 인덱스를 다시 작성하고 있습니다. 인덱스가 이 상태인 경우 다음과 같습니다:

  • 새 인덱스의 경우 Atlas Search는 인덱스 빌드가 완료될 때까지 쿼리를 제공하지 않습니다.

  • 기존 인덱스의 경우 인덱스가 다시 빌드될 때까지 기존 쿼리와 새 쿼리에 대해 이전 인덱스를 계속 사용할 수 있습니다.

활성
인덱스를 사용할 준비가 되었습니다.
복구 중
복제에 오류가 발생했습니다. 이 상태는 일반적으로 mongod oplog에서 현재 복제 지점을 더 이상 사용할 수 없을 때 발생합니다. 기존 인덱스가 업데이트되고 상태가 Active 로 변경될 때까지 기존 인덱스를 계속 쿼리할 수 있습니다. View status details 모달 창의 오류를 사용하여 문제를 해결하세요. 자세히 알아보려면 Atlas Search 문제 해결을 참조하세요.
실패하였습니다.
Atlas에서 인덱스를 작성할 수 없습니다. View status details 모달 창의 오류를 사용하여 문제를 해결하세요. 자세한 내용은 Atlas Search 문제 해결을 참조하세요.
삭제 진행 중
Atlas가 클러스터 노드에서 인덱스를 삭제하는 중입니다.

Atlas가 인덱스를 빌드하는 동안 그리고 빌드가 완료된 후 Documents 열에 인덱싱된 문서의 백분율과 개수가 표시됩니다. 이 열에는 컬렉션의 총 문서 수도 표시됩니다.

경고

이미 Atlas Search 인덱스가 있는 컬렉션을 샤드하는 경우, 컬렉션이 샤드에 표시되기 시작할 때 잠시 동안 쿼리 중단 시간이 발생할 수 있습니다. 또한 이미 샤드된 컬렉션에 대한 샤드를 추가하고 Atlas Search 인덱스가 포함된 경우, 추가된 샤드에서 초기 동기화 프로세스가 완료될 때까지 해당 컬렉션에 대한 검색 쿼리가 실패합니다. 자세한 내용은 초기 동기화 프로세스를 참조하세요.

← Atlas 검색 인덱스 생성 및 관리