Docs Menu
Docs Home
/ / /
Kotlin Sync 드라이버
/ /

Atlas Search 및 Vector Search 인덱스

이 페이지의 내용

  • 개요
  • 검색 인덱스 만들기
  • 검색 인덱스 나열
  • 검색 인덱스 업데이트
  • 검색 인덱스 삭제
  • 추가 정보

Kotlin Sync 드라이버를 사용하여 프로그래밍 방식으로 Atlas SearchAtlas Vector Search 인덱스를 관리할 수 있습니다.

Atlas Search 기능을 사용하면 MongoDB Atlas에서 호스팅되는 컬렉션에서 전체 텍스트 검색을 수행할 수 있습니다. Atlas Search 인덱스는 검색 동작과 인덱싱할 필드를 지정합니다.

Atlas Vector Search를 사용하면 MongoDB Atlas에 저장된 벡터 임베딩에 대해 시맨틱 검색을 수행할 수 있습니다. 벡터 검색 인덱스는 쿼리하려는 벡터 임베딩에 대한 인덱스와 데이터를 사전 필터링하는 데 사용할 부울, 날짜, objectId, 숫자, 문자열 또는 UUID 값을 정의합니다.

컬렉션 에서 다음 메서드를 호출하여 Atlas Search 및 Vector Search 인덱스를 관리 있습니다.

  • createSearchIndex() ( Atlas Search 인덱스에만 유효)

  • createSearchIndexes()

  • listSearchIndexes()

  • updateSearchIndex()

  • dropSearchIndex()

참고

Atlas Search와 Vector Search 인덱스 관리 방법은 비동기적으로 실행되므로 성공적으로 실행되었는지 확인하기 전에 반환될 수 있습니다. 인덱스의 현재 상태를 확인하려면 listSearchIndexes() 메서드를 호출하거나 Atlas UI에서 인덱스 목록을 확인하세요.

다음 섹션에서는 코드 예시를 제공하여 이전의 각 메서드를 사용하는 방법을 보여줍니다.

createSearchIndex() 메서드를 사용하여 단일 Atlas Search 인덱스 를 만들 수 있습니다. 이 메서드로는 Vector Search 인덱스 를 만들 수 없습니다.

createSearchIndexes() 메서드를 사용하여 여러 개의 Atlas Search 또는 Vector Search 인덱스를 만들 수 있습니다. 각 인덱스 SearchIndexModel 에 대해 SearchIndexModel 인스턴스 createSearchIndexes() 를 만든 다음 인스턴스 목록을 메서드에 전달해야 합니다.

다음 코드 예시에서는 Atlas Search 인덱스를 생성하는 방법을 보여줍니다.

val index = Document("mappings", Document("dynamic", true))
collection.createSearchIndex("mySearchIdx", index)

다음 코드 예시는 한 번의 호출로 Atlas Search 및 Vector Search 인덱스를 만드는 방법을 보여줍니다.

val searchIdxMdl = SearchIndexModel(
"searchIdx",
Document("analyzer", "lucene.standard").append(
"mappings", Document("dynamic", true)
),
SearchIndexType.search()
)
val vectorSearchIdxMdl = SearchIndexModel(
"vsIdx",
Document(
"fields",
listOf(
Document("type", "vector")
.append("path", "embeddings")
.append("numDimensions", 1536)
.append("similarity", "dotProduct")
)
),
SearchIndexType.vectorSearch()
)
collection.createSearchIndexes(
listOf(searchIdxMdl, vectorSearchIdxMdl)
)

Atlas Search 인덱스를 정의하는 데 사용되는 구문에 대해 자세히 알아보려면 Atlas 설명서의 Atlas Search 인덱스 구문 검토 가이드를 참조하세요.

listSearchIndexes() 메서드를 사용하여 컬렉션의 모든 Atlas Search 인덱스를 반환할 수 있습니다.

다음 코드 예시에서는 컬렉션의 검색 인덱스 목록을 출력하는 방법을 보여줍니다.

val results = collection.listSearchIndexes()
results.forEach { result ->
println(result)
}

updateSearchIndex() 메서드를 사용하여 Atlas Search 인덱스를 업데이트할 수 있습니다.

다음 코드에서는 검색 업인덱스를데이트하는 방법을 보여줍니다.

val newIndex = Document("mappings", Document("dynamic", true))
collection.updateSearchIndex("<index to update>", newIndex)

dropSearchIndex() 메서드를 사용하여 Atlas Search 인덱스를 삭제할 수 있습니다.

다음 코드에서는 컬렉션에서 검색 인덱스를 삭제하는 방법을 보여줍니다.

collection.dropIndex("<index to delete>")

MongoDB Atlas Search에 대해 자세히 학습하려면 Atlas Search Indexes 문서를 참조합니다.

돌아가기

복합 인덱스