Docs Menu
Docs Home
/
MongoDB Atlas
/

Atlas Search 개요

이 페이지의 내용

  • Atlas Search 기본 사항
  • 인덱싱
  • 토큰화
  • 쿼리하기
  • 득점
  • Atlas Search 아키텍처
  • mongot 프로세스에 대한 정보

MongoDB의 Atlas Search는 Atlas 클러스터에서 세분화된 텍스트 인덱싱 및 데이터 쿼리 기능을 제공합니다 이는 데이터베이스와 별도로 추가 관리 없이 애플리케이션에 대한 고급 검색 기능을 가능하게 합니다. Atlas Search는 여러 종류의 텍스트 분석기, $search$searchMeta와 같은 Atlas Search 집계 파이프라인 단계를 다른 MongoDB 집계 파이프라인 단계와 함께 사용하는 풍부한 쿼리 언어, 점수 기반 결과 순위를 위한 옵션을 제공합니다.

Atlas 계정, 클러스터 또는 컬렉션 없이 Atlas Search Playground를 통해 빠르게 Atlas Search를 사용할 수 있습니다. 자세한 내용은 문서를 참조하세요.

다음 개념은 Atlas Search의 기초를 형성하며 애플리케이션을 최적화하기 위해 반드시 필요합니다.

검색의 맥락에서 인덱스 는 데이터를 쉽게 검색할 수 있는 형식으로 분류하는 데이터 구조입니다. 검색 인덱스를 사용하면 전체 컬렉션을 스캔하지 않고도 특정 용어가 포함된 문서를 더 빠르게 검색할 수 있습니다. Atlas Search 인덱스와 MongoDB 인덱스는 모두 데이터 검색 속도를 높여주지만 동일하지는 않습니다. 책 뒤쪽의 색인과 마찬가지로 검색 인덱스는 용어와 해당 용어가 포함된 문서 간의 매핑입니다. 검색 인덱스에는 문서 내 용어의 위치와 같은 다른 관련 메타데이터도 포함됩니다.

일반적으로 모든 검색 애플리케이션에서는 검색 인덱스를 하나 이상 만들어야 합니다. 자세한 내용은 Atlas 검색 인덱스 생성 및 관리를 참조하세요.

검색 인덱스를 생성할 때 데이터는 먼저 일련의 토큰 또는 용어로 변환되어야 합니다. 분석기는 다음과 같은 단계를 통해 이 프로세스를 용이하게 합니다.

  • 토큰화: 문자열의 단어를 인덱싱 가능한 토큰으로 분리하는 작업입니다. 예를 들어 공백과 문장 부호로 문장을 나눕니다.

  • 정규화: 데이터를 일관성 있게 표현하고 분석하기 쉽도록 정리하는 작업을 말합니다. 예를 들어, 텍스트를 소문자로 변환하거나 중지 단어로 불리는 원치 않는 단어를 제거할 수 있습니다.

  • 스테밍: 단어를 어근 형태로 줄이는 작업입니다. 예를 들어 접미사, 접두사 및 복수형 단어 형식을 무시합니다.

토큰화의 세부 사항은 언어에 따라 다르며 추가 선택이 필요할 수 있습니다. 사용할 분석기는 데이터와 애플리케이션에 따라 다릅니다. 자세한 내용은 분석기를 사용한 데이터 프로세스를 참조하세요.

검색 쿼리는 인덱스를 참조하여 결과 집합을 반환합니다. 검색 쿼리는 보다 일반적인 정보 요구 사항을 충족하기 위한 것이므로 기존의 데이터베이스 쿼리와는 다릅니다. 데이터베이스 쿼리가 엄격한 구문을 따라야 하는 경우, 검색 쿼리는 단순한 텍스트 일치를 위한 것일 수도 있지만 유사한 구문, 숫자 또는 날짜 범위를 찾거나 정규 표현식 또는 와일드카드를 사용할 수도 있습니다.

자세한 내용은 Atlas Search 쿼리 생성 및 실행을 참조하세요.

각 문서에는 관련성 점수가 부여되어 관련성이 가장 높은 문서부터 가장 낮은 문서 순으로 쿼리 결과를 반환할 수 있습니다. 가장 간단한 형태의 점수 산정에서 문서는 쿼리어가 문서에 자주 나타나는 경우 문서 점수를 높이고 컬렉션의 쿼리어가 여러 문서에 나타나면 낮은 점수를 줍니다. 채점도 사용자 지정할 수 있습니다. 특정 도메인에 맞게 Atlas Search를 조정한다는 것은 종종 관련성 기반 기본 점수를 부스트, 감쇠 또는 다른 방식으로 수정하여 사용자 지정하는 것을 의미합니다.

자세한 내용은 점수 문서를 참조하세요.

Apache Lucene 기반으로 구축된 Atlas Search mongot 프로세스는 mongod 데이터베이스 프로세스와 연동하여 전체 텍스트 및 벡터 검색 색인과 쿼리를 생성하고 관리합니다.

mongot 프로세스는 다음 작업을 수행합니다.

  1. 컬렉션에 대한 인덱스 정의의 규칙을 기반으로 Atlas Search 인덱스를 만듭니다.

  2. 변경 스트림에서 Atlas Search 인덱스를 정의한 컬렉션에 대해 문서 및 인덱스의 현재 상태를 모니터링합니다.

  3. Atlas Search 쿼리를 처리하고 일치하는 문서에 대한 문서 ID 및 기타 검색 메타데이터를 mongod에 반환합니다. 그런 다음 전체 문서 조회를 수행하고 결과를 클라이언트에 반환합니다.

Atlas Search mongot 프로세스가 Atlas 클러스터의 각 노드에서 mongod 프로세스와 함께 실행되거나 mongot 프로세스가 별도의 검색 노드에서 실행되는 배포 모델을 선택할 수 있습니다. 검색 쿼리를 테스트하고 애플리케이션의 프로토타입을 만들려면 mongot 프로세스와 mongod 프로세스가 모두 동일한 노드에서 실행되는 기본 배포 모델을 선택할 수 있습니다. 그러나 프로덕션 환경에서 바로 사용할 수 있는 애플리케이션의 경우 별도의 검색 노드에 mongot 를 배포하여 프로덕션 환경에서 mongot 프로세스와 mongod 프로세스 간의 리소스 경합을 방지하세요.

사전 프로덕션 및 프로덕션 환경에 대한 배포 유형을 선택하는 방법에 대한 지침은 Atlas Search 배포 옵션Atlas Vector Search 배포 옵션을 참조하세요.

돌아가기

Atlas Search