Atlas Search 인덱스 만들기
이 페이지의 내용
Atlas Search 인덱스는 데이터를 쉽게 검색할 수 있는 형식으로 분류하는 데이터 구조입니다. 용어와 해당 용어가 포함된 문서 간의 매핑입니다. Atlas Search 인덱스를 사용하면 특정 식별자를 사용하여 문서를 더 빠르게 검색할 수 있습니다. Atlas Search를 사용하여 Atlas 클러스터의 데이터를 쿼리하려면 Atlas Search 인덱스를 구성해야 합니다.
단일 필드 또는 여러 필드에 대해 Atlas Search 인덱스를 만들 수 있습니다. 쿼리 시점에 관련 데이터를 포함하는 문서를 빠르게 검색할 수 있도록, 데이터를 정렬하거나 필터링하는 데 정기적으로 사용하는 필드를 인덱싱하는 것이 좋습니다.
Atlas UI, API , Atlas CLI 및 Terraform 을통해 Atlas cluster의 시계열컬렉션을 제외한 모든 컬렉션에 대한 Atlas Search 인덱스를 만들 수 있습니다.
중요
전제 조건
Atlas Search 인덱스를 만들려면 다음이 포함된 Atlas 클러스터가 있어야 합니다:
MongoDB 버전
4.2
또는 그 이상Atlas Search 인덱스를 생성할 컬렉션
필요한 액세스 권한
다음 표는 각 역할이 지원하는 액세스 모드를 보여줍니다.
역할 | 작업 | Atlas UI | Atlas API | Atlas Search API | Atlas CLI |
---|---|---|---|---|---|
Atlas Search 분석기 및 인덱스를 보려면 다음 단계를 따르세요. | ✓ | ✓ | |||
Project Data Access Admin 이상의 역할 | Atlas Search 분석기 및 인덱스를 생성 및 관리하고 API 키에 역할을 할당합니다. | ✓ | ✓ | ✓ | ✓ |
✓ | ✓ | ||||
API 키에 대한 액세스 목록 항목을 생성 하고 API 키에 대한 액세스 목록에 나타나는 클라이언트에서 요청을 보냅니다. | ✓ | ✓ | |||
Atlas UI 또는 API를 사용하여 Atlas Search 인덱스를 생성, 확인, 편집 및 삭제합니다. | ✓ | ✓ | ✓ |
참고
초과하여 만들 수 없습니다.
M0
클러스터의 인덱스 3개.M2
클러스터의 인덱스 5개.M5
클러스터의 인덱스 10개.
M10+
클러스터에 생성할 수 있는 색인 수에는 제한이 없습니다.
Atlas UI를 사용하여 Atlas Search 인덱스 만들기
새 Atlas Search 인덱스를 생성할 때 구성 방법을 선택하세요.
만들려는 인덱스의 유형을 지정할 수 있습니다. $search
쿼리의 경우 type
을 명시적으로 지정하지 않으면 type
이 기본적으로 search
쿼리로 지정됩니다.
기본 인덱스 정의를 사용하거나 인덱스에 대한 사용자 정의를 지정할 수 있습니다. 기본 인덱스 정의는 문서의 필드에 대한 동적 매핑이며 모든 컬렉션에서 작동합니다. 정적 매핑을 위한 사용자 지정 인덱스 정의를 생성하고자 한다면, 어떤 분석기를 사용하여 어떤 데이터 유형으로 어떤 필드를 인덱싱할 것인지 지정할 수 있습니다.
인덱스 이름은 기본값이 default입니다. 기본 이름을 그대로 두거나 원하는 이름을 선택할 수 있습니다.
참고
인덱스 이름을 default
으로 지정하면 $search 파이프라인 단계를 사용할 때 index
매개 변수를 지정할 필요가 없습니다. 그렇지 않으면 index
매개 변수를 사용하여 인덱스 이름을 지정해야 합니다.
인덱스 이름은 네임스페이스 내에서 고유해야 합니다.
시청을 통한 학습을 선호하시나요?
다양한 복잡성의 Atlas Search 인덱스를 생성하는 방법을 보여주는 이 비디오 튜토리얼을 따라해 보세요.
지속 시간 소요 시간: 15분
절차
Atlas UI에서 Atlas Search 인덱스를 만들려면 다음과 같이 하세요:
Index Name을 입력하고 Database and Collection을 설정합니다.
Index Name 필드에 인덱스의 이름을 입력합니다.
참고
인덱스 이름을
default
으로 지정하면 $search 파이프라인 단계를 사용할 때index
매개 변수를 지정할 필요가 없습니다. 그렇지 않으면index
매개 변수를 사용하여 인덱스 이름을 지정해야 합니다.Database and Collection 섹션에서 데이터베이스 또는 컬렉션을 찾고 컬렉션 이름을 선택합니다.
Visual Editor 를 사용하는 경우Next를 클릭합니다.
선택 사항: Visual Editor을 사용하는 경우 인덱스 정의 초안을 저장하거나 삭제할 수 있습니다.
참고
Visual Editor 를 사용하고 인덱스 정의에 정적 매핑 이 포함되어 있는 경우 인덱스 정의를 초안으로 저장할 수 있습니다. 기본 인덱스 정의 는 초안으로 저장할 수 없습니다. 사용자 지정 인덱스 정의 만 초안으로 저장할 수 있습니다.
Cancel를 클릭합니다.
Save Draft 또는 Delete Draft를 클릭합니다.
중요
보류 중인 인덱스 초안이 있는 경우 새 인덱스를 만들 수 없습니다.
인덱스 초안을 사용하여 인덱스를 만드는 방법에 대해 자세히 알아보려면 Atlas Search 인덱스 초안 재개 또는 삭제를 참조하세요.
Atlas Search API를 사용하여 Atlas Search 인덱스 만들기
Atlas Search 인덱스를 만들려면 fts/indexes
엔드포인트 에 POST
요청을 보냅니다. 이 엔드포인트의 구문 및 매개변수에 대해 자세히 알아보려면 엔드포인트 생성을 참조하세요.
참고
컬렉션이 존재하지 않는 경우 Atlas는 인덱스를 생성하지 않지만 여전히 200
상태를 반환합니다.
Atlas CLI를 사용하여 Atlas Search 인덱스 만들기
Atlas CLI를 사용하여 만든 로컬 Atlas 배포와 함께 Atlas Search를 사용할 수도 있습니다. 자세히 알아보려면 로컬 Atlas 배포 만들기를 참조하세요.
클라우드 배포를 위한 Atlas Search 인덱스 만들기
Atlas CLI를 사용하여 클러스터에 대한 검색 인덱스를 생성하려면 다음 명령을 실행하세요.
atlas clusters search indexes create [indexName] [options]
명령 구문 및 매개변수에 관한 자세한 사항은 Atlas CLI 문서에서 Atlas cluster 검색 인덱스 생성을 참조하십시오.
팁
참조: 관련 링크
로컬 배포를 위한 Atlas Search 인덱스 만들기
Atlas CLI를 사용하여 지정된 배포에 대한 검색 인덱스를 생성하려면 다음 명령을 실행하세요.
atlas deployments search indexes create [indexName] [options]
명령 구문 및 매개변수에 대해 자세히 알아보려면 검색 인덱스가 생성하는 atlas 배포서버에 대한 Atlas CLI 설명서를 참조하세요.
팁
참조: 관련 링크
MongoDB Compass를 사용하여 Atlas Search 인덱스 만들기
MongoDB 7 를 실행하는 M10
이상의 Atlas cluster에서 Atlas Search 인덱스를 만들 수 있습니다. Compass에서 0 이상.
MongoDB Compass에서 Atlas 클러스터에 연결합니다.
Compass 를 열고 Atlas 클러스터에 연결합니다. 연결에 대한 자세한 내용은 Compass를 통한 연결을 참조하세요.
프로그래밍 방식으로 Atlas Search 인덱스 생성
mongosh
또는 지원되는 MongoDB 드라이버 를 원하는 언어로 사용하여 프로그래밍 방식으로 Atlas Search 인덱스를 만들 수 있습니다.
참고
인덱스가 포함된 데이터베이스에 대해 최소한 readWriteAnyDatabase
역할 또는 readWrite
액세스 권한이 있어야 합니다. 자세히 알아보려면 기본 제공 역할 또는 특정 권한을참조하세요.
➤ 언어 선택 드롭다운 메뉴를 사용하여 이 섹션에 있는 예제의 언어를 설정합니다.
노드 상태
Atlas Search 인덱스를 생성하면, Atlas UI의 오른쪽 패널에 있는 Atlas Search 인덱스 탭에 선택한 네임스페이스에 대한 Atlas Search 인덱스에 대한 정보가 표시됩니다. Status 열은 클러스터의 기본 노드에 있는 인덱스의 현재 상태를 표시합니다. 상태 아래에 있는 View status details 링크를 클릭하면 클러스터의 모든 노드에 있는 인덱스 상태를 볼 수 있습니다.
Status 열이 Active로 표시되면 인덱스가 사용할 준비가 된 것입니다. 다른 상태에서는 인덱스에 대한 쿼리가 불완전한 결과를 반환할 수 있습니다.
상태 | 설명 |
---|---|
시작되지 않음 | Atlas가 아직 인덱스 빌드를 시작하지 않았습니다. |
초기 동기화 | Atlas가 인덱스를 작성하거나 편집 후 인덱스를 다시 작성하고 있습니다. 인덱스가 이 상태인 경우 다음과 같습니다:
|
활성 | 인덱스를 사용할 준비가 되었습니다. |
복구 중 | 복제에 오류가 발생했습니다. 이 상태는 일반적으로 mongod oplog에서 현재 복제 지점을 더 이상 사용할 수 없을 때 발생합니다. 기존 인덱스가 업데이트되고 상태가 Active 로 변경될 때까지 기존 인덱스를 계속 쿼리할 수 있습니다. View status details 모달 창의 오류를 사용하여 문제를 해결하세요. 자세히 알아보려면 Atlas Search 문제 해결을 참조하세요. |
실패하였습니다. | Atlas에서 인덱스를 작성할 수 없습니다. View status details 모달 창의 오류를 사용하여 문제를 해결하세요. 자세한 내용은 Atlas Search 문제 해결을 참조하세요. |
삭제 진행 중 | Atlas가 클러스터 노드에서 인덱스를 삭제하는 중입니다. |
Atlas가 인덱스를 빌드하는 동안 그리고 빌드가 완료된 후 Documents 열에 인덱싱된 문서의 백분율과 개수가 표시됩니다. 이 열에는 컬렉션의 총 문서 수도 표시됩니다.
경고
이미 Atlas Search 인덱스가 있는 컬렉션을 샤드하는 경우, 컬렉션이 샤드에 표시되기 시작할 때 잠시 동안 쿼리 중단 시간이 발생할 수 있습니다. 또한 이미 샤드된 컬렉션에 대한 샤드를 추가하고 Atlas Search 인덱스가 포함된 경우, 추가된 샤드에서 초기 동기화 프로세스가 완료될 때까지 해당 컬렉션에 대한 검색 쿼리가 실패합니다. 자세한 내용은 초기 동기화 프로세스를 참조하세요.