개요
MongoDB Search를 사용하면 MongoDB Atlas 에서 호스팅되는 컬렉션에서 전체 텍스트 검색을 수행할 수 있습니다. MongoDB Search 인덱스는 검색 동작과 인덱스 할 필드를 지정합니다.
컬렉션 에서 다음 메서드를 호출하여 MongoDB Search 인덱스를 관리 할 수 있습니다.
createSearchIndex()createSearchIndexes()listSearchIndexes()updateSearchIndex()dropSearchIndex()
참고
MongoDB Search 인덱스 관리 메서드는 비동기적으로 실행 성공적으로 실행되었는지 확인하기 전에 반환될 수 있습니다. 인덱스의 현재 상태를 확인하려면 listSearchIndexes() 메서드를 호출합니다.
다음 섹션에서는 코드 예시를 제공하여 이전의 각 메서드를 사용하는 방법을 보여줍니다.
검색 인덱스 만들기
createSearchIndex() 및 createSearchIndexes() 메서드를 사용하여 하나 이상의 MongoDB Search 인덱스를 만들 수 있습니다.
이러한 메서드를 사용하여 MongoDB 벡터 검색 인덱스를 만들 수도 있습니다. MongoDB Vector Search를 사용하면 MongoDB Atlas 에 저장된 벡터 임베딩에 대해 시맨틱 검색을 수행할 수 있습니다. 이 기능 에 대해 자세히 학습 MongoDB 벡터 검색 개요를 참조하세요.
다음 코드 예시 MongoDB 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) => ())
MongoDB Search 인덱스를 정의하는 데 사용되는 구문에 대해 자세히 학습 Atlas 매뉴얼의 MongoDB Search 구문 구문 검토 가이드 참조하세요.
검색 인덱스 나열
listSearchIndexes() 메서드를 사용하여 컬렉션 의 모든 MongoDB 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() 메서드를 사용하여 MongoDB Search 인덱스 업데이트 수 있습니다.
다음 코드에서는 검색 업인덱스를데이트하는 방법을 보여줍니다.
val updateIndex = Document("mappings" -> Document("dynamic" -> false)) collection.updateSearchIndex("<index to update>", updateIndex) .subscribe((result: Unit) => ())
검색 인덱스 삭제
dropSearchIndex() 메서드를 사용하여 MongoDB Search 인덱스 삭제 수 있습니다.
다음 코드에서는 컬렉션에서 검색 인덱스를 삭제하는 방법을 보여줍니다.
collection.dropSearchIndex("<index name>") .subscribe((result: Unit) => ())
추가 정보
MongoDB Search에 대해 자세히 학습 MongoDB Search 설명서를 참조하세요.
API 문서
이 가이드에서 사용되는 메서드 또는 유형에 대해 자세히 알아보려면 다음 API 문서를 참조하세요.