Docs Menu
Docs Home
/ /
Java 동기화 드라이버

Atlas Vector Search

이 가이드에서는 Java 드라이버에서 Atlas Vector Search 기능을 사용하는 방법을 알아볼 수 있습니다. The Aggregates 빌더 클래스는 $VectorSearch 파이프라인 단계를 생성할 수 있는 vectorSearch() 헬퍼 메서드를 제공합니다. 이 파이프라인 단계에서는 문서에서 시맨틱 검색을 수행할 수 있습니다. 시맨틱 검색은 제공된 검색어 또는 구문과 의미가 유사하지만 반드시 동일하지는 않은 정보를 찾는 검색 유형입니다.

중요

기능 호환성

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

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

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

다음 예에서는 vectorSearch()project() 메서드를 사용하여 벡터 검색 점수를 계산하는 집계 파이프라인을 구축하는 방법을 보여줍니다.

List<Double> queryVector = (asList(-0.0072121937, -0.030757688, -0.012945653));
String indexName = "mflix_movies_embedding_index";
FieldSearchPath fieldSearchPath = fieldPath("plot_embedding");
int numCandidates = 2;
int limit = 1;
VectorSearchOptions options = vectorSearchOptions().filter(gte("year", 2016));
List<Bson> pipeline = asList(
vectorSearch(
fieldSearchPath,
queryVector,
indexName,
numCandidates,
limit,
options),
project(
metaVectorSearchScore("vectorSearchScore")));

다음 예시 집계 실행 하고 이전 집계 파이프라인 의 결과에서 벡터 검색 메타 점수를 출력하는 방법을 보여 줍니다.

Document found = collection.aggregate(pipeline).first();
double score = found.getDouble("vectorSearchScore").doubleValue();
System.out.println("vectorSearch score: " + score);

Java 드라이버 벡터 검색 예제

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

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

돌아가기

Atlas Search

이 페이지의 내용