Docs Menu
Docs Home
/ / /
Kotlin 코루틴
/ / /

Atlas Vector Search

이 페이지의 내용

  • 개요
  • 벡터 검색 수행
  • 벡터 검색 예제
  • API 문서

이 가이드 에서는 코틀린 (Kotlin) 운전자 의 Atlas Vector Search 기능사용하는 방법을 학습 수 있습니다. Aggregates 빌더 클래스는 vectorSearch() $vectorSearch 파이프라인 단계를 만드는 데 사용할 수 있는 헬퍼 메서드를 제공합니다. 이 파이프라인 단계에서는 문서에서 시맨틱 검색 수행할 수 있습니다. 시맨틱 검색 은 제공된 검색 또는 구문 텀 의미는 비슷하지만 반드시 동일하지는 않은 정보를 찾는 검색 유형입니다.

중요

기능 호환성

이 기능을 지원하는 MongoDB Atlas 버전에 대한 자세한 내용은 MongoDB Atlas 설명서의 제한 사항을 참조하세요.

이 기능 사용하려면 벡터 검색 인덱스 만들고 벡터 임베딩을 인덱스 해야 합니다. 프로그래밍 방식으로 벡터 검색 인덱스 만드는 방법에 대해 학습 인덱스 가이드 의 Atlas Search 및 벡터 검색 인덱스 섹션을 참조하세요. 벡터 임베딩에 대해 자세히 학습 Atlas 설명서에서 벡터 검색을 위한 벡터 임베딩을 인덱스하는 방법을 참조하세요.

벡터 임베딩에 벡터 검색 인덱스 생성한 후 다음 섹션에 표시된 대로 파이프라인 단계에서 이 인덱스 참조할 수 있습니다.

이 섹션의 예제에서는 다음 Kotlin 데이터 클래스로 모델링된 데이터를 사용합니다.

data class MovieAlt(
val title: String,
val year: Int,
val plot: String,
val plotEmbedding: List<Double>
)

이 예시 에서는 vectorSearch() 메서드를 사용하여 다음 사양으로 정확한 벡터 검색 을 수행하는 집계 파이프라인 을 빌드 하는 방법을 보여 줍니다.

  • 문자열 값의 벡터 임베딩을 사용하여 plotEmbedding 필드 값을 검색합니다.

  • mflix_movies_embedding_index 벡터 검색 인덱스 사용

  • 문서 1개 반환

  • year 값이 2016이상인 문서를 필터링합니다.

Aggregates.vectorSearch(
SearchPath.fieldPath(MovieAlt::plotEmbedding.name),
BinaryVector.floatVector(floatArrayOf(0.0001f, 1.12345f, 2.23456f, 3.34567f, 4.45678f)),
"mflix_movies_embedding_index",
1.toLong(),
exactVectorSearchOptions().filter(Filters.gte(MovieAlt::year.name, 2016))
)

쿼리 벡터 유형

앞의 예시 에서는 쿼리 벡터로 제공 BinaryVector 인스턴스 만들지만 Double 인스턴스의 List 을 만들 수도 있습니다. 그러나 저장 효율성 높이려면 BinaryVector 유형을 사용하는 것이 좋습니다.

코틀린 (Kotlin) 벡터 검색 예시

코틀린 (Kotlin) 운전자 사용하여 Atlas 벡터 검색을 수행하는 방법에 대한 더 많은 튜토리얼을 찾으려면 Atlas 설명서를 참조하세요.

이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.

돌아가기

집계