Atlas search 인덱스
개요
Atlas Search 기능을 사용하면 MongoDB Atlas에서 호스팅되는 컬렉션에서 전체 텍스트 검색을 수행할 수 있습니다. Atlas Search 인덱스는 검색 동작과 인덱싱할 필드를 지정합니다.
컬렉션에서 다음과 같은 메서드를 호출하여 Atlas Search 인덱스를 관리할 수 있습니다.
createSearchIndex()
createSearchIndexes()
listSearchIndexes()
updateSearchIndex()
dropSearchIndex()
참고
Atlas Search 인덱스 관리 방법은 비동기적으로 실행되며 성공적으로 실행되었는지 확인하기 전에 반환될 수 있습니다. 인덱스의 현재 상태를 확인하려면 listSearchIndexes()
메서드를 호출합니다.
다음 섹션에서는 코드 예시를 제공하여 이전의 각 메서드를 사용하는 방법을 보여줍니다.
검색 인덱스 만들기
createSearchIndex()
및 createSearchIndexes()
메서드를 사용하여 하나 이상의 Atlas Search 인덱스를 만들 수 있습니다.
이러한 방법을 사용하여 Atlas Vector Search 인덱스를 만들 수도 있습니다. Atlas Vector Search를 사용하면 MongoDB Atlas에 저장된 벡터 임베딩에 대해 시맨틱 검색을 수행할 수 있습니다. 이 기능에 대해 자세히 알아보려면 Atlas Vector Search 개요를 참조하세요.
다음 코드 예시에서는 Atlas Search 인덱스를 생성하는 방법을 보여줍니다.
val index = Document("mappings" -> Document("dynamic" -> true)) collection.createSearchIndex("<index name>", index) .subscribe((result: String) => ())
다음 코드 예시 여러 인덱스를 만드는 방법을 보여 줍니다. 생성된 인덱스 에 기본값 이름을 할당하는 createSearchIndex()
메서드와 달리 createSearchIndexes()
메서드를 사용할 때는 각 인덱스 에 대한 인덱스 이름을 제공해야 합니다.
val indexOne = SearchIndexModel("<first index name>", Document("mappings" -> Document("dynamic" -> true, "fields" -> Document("field1" -> Document("type" -> "string"))))) val indexTwo = SearchIndexModel("<second index name>", Document("mappings" -> Document("dynamic" -> false, "fields" -> Document("field2" -> Document("type" -> "string"))))) collection.createSearchIndexes(List(indexOne, indexTwo)) .subscribe((result: String) => ())
Atlas Search 인덱스를 정의하는 데 사용되는 구문에 대해 자세히 알아보려면 Atlas 매뉴얼의 Atlas Search 인덱스 구문 검토 가이드를 참조하세요.
검색 인덱스 나열
listSearchIndexes()
메서드를 사용하여 컬렉션 의 모든 Atlas Search 인덱스를 반환할 수 있습니다.
다음 코드 예시 listSearchIndexes()
메서드에서 반환된 Observable
을(를) 구독 하여 컬렉션 의 검색 인덱스 목록을 인쇄하는 방법을 보여 줍니다.
collection.listSearchIndexes() .subscribe((result: Document) => println(result.toJson()))
{"id": "...", "name": "<index name 1>", "type": "search", "status": "READY", "queryable": true, ... } {"id": "...", "name": "<index name 2>", "type": "search", "status": "READY", "queryable": true, ... }
검색 인덱스 업데이트
updateSearchIndex()
메서드를 사용하여 Atlas Search 인덱스 업데이트 수 있습니다.
다음 코드에서는 검색 업인덱스를데이트하는 방법을 보여줍니다.
val updateIndex = Document("mappings" -> Document("dynamic" -> false)) collection.updateSearchIndex("<index to update>", updateIndex) .subscribe((result: Unit) => ())
검색 인덱스 삭제
dropSearchIndex()
메서드를 사용하여 Atlas Search 인덱스 삭제 수 있습니다.
다음 코드에서는 컬렉션에서 검색 인덱스를 삭제하는 방법을 보여줍니다.
collection.dropSearchIndex("<index name>") .subscribe((result: Unit) => ())
추가 정보
MongoDB Atlas Search에 대해 자세히 학습 Atlas Search 설명서를 참조하세요.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.