Atlas search 인덱스
개요
MongoDB Atlas Search 기능을 사용하면 Atlas에서 호스팅되는 컬렉션에서 전체 텍스트 검색을 수행할 수 있습니다. Atlas Search 쿼리를 수행하려면 먼저 인덱싱할 필드와 인덱싱 방법을 지정하는 인덱스를 만들어야 합니다.
Atlas Search에 대해 자세히 알아보려면 Atlas Search 개요를 참조하세요.
MongoDB\Collection
인스턴스에서 다음 메서드를 사용하여 Atlas Search 인덱스를 관리할 수 있습니다.
MongoDB\Collection::createSearchIndex()
MongoDB\Collection::createSearchIndexes()
MongoDB\Collection::listSearchIndexes()
MongoDB\Collection::updateSearchIndex()
MongoDB\Collection::dropSearchIndex()
참고
Atlas Search 인덱스 관리는 비동기식입니다.
MongoDB PHP 라이브러리는 Atlas Search 인덱스를 비동기적으로 관리합니다. 다음 섹션에서 설명하는 라이브러리 메서드는 서버 응답을 즉시 반환하지만 검색 인덱스에 대한 변경 사항은 배경 에서 발생하며 잠시 후까지 완료되지 않을 수 있습니다.
다음 섹션에서는 코드 예시를 제공하여 각 Atlas Search 인덱스를 관리하는 방법을 보여줍니다.
검색 인덱스 만들기
createSearchIndex()
메서드를 사용하여 컬렉션에 단일 Atlas Search 인덱스를 생성하거나 createSearchIndexes()
메서드를 사용하여 여러 인덱스를 동시에 샐성할 수 있습니다.
다음 코드 예시에서는 단일 Atlas Search 인덱스를 생성하는 방법을 보여줍니다.
$indexName = $collection->createSearchIndex( ['mappings' => ['dynamic' => true]], ['name' => 'mySearchIdx'] );
다음 코드 예시에서는 여러 Atlas Search 인덱스를 생성하는 방법을 보여줍니다.
$indexNames = $collection->createSearchIndexes( [ [ 'name' => 'SearchIdx_dynamic', 'definition' => ['mappings' => ['dynamic' => true]], ], [ 'name' => 'SearchIdx_simple', 'definition' => [ 'mappings' => [ 'dynamic' => false, 'fields' => [ 'title' => [ 'type' => 'string', 'analyzer' => 'lucene.simple' ] ] ] ], ], ] );
검색 인덱스를 생성한 후에는 컬렉션에서 Atlas Search 쿼리를 수행할 수 있습니다. 자세한 내용은 Atlas 설명서에서 Atlas Search 쿼리 생성 및 실행을 참조하세요.
검색 인덱스 나열
listSearchIndexes()
메서드를 사용하여 컬렉션의 Atlas Search 인덱스 배열을 반환할 수 있습니다.
foreach ($collection->listSearchIndexes() as $indexInfo) { echo json_encode($indexInfo), PHP_EOL; }
검색 인덱스 업데이트
updateSearchIndex()
메서드를 사용하여 Atlas Search 인덱스를 업데이트할 수 있습니다. 이 메서드를 사용하여 검색 인덱스의 이름을 변경하거나 인덱스의 구성을 변경할 수 있습니다.
다음 코드는 title
필드에서 간단한 분석기를 사용하도록 검색 인덱스를 업데이트하는 방법을 보여줍니다.
$collection->updateSearchIndex( 'mySearchIdx', ['mappings' => [ 'dynamic' => false, 'fields' => [ 'title' => [ 'type' => 'string', 'analyzer' => 'lucene.simple' ] ] ]] );
검색 인덱스 삭제
dropSearchIndex()
메서드를 사용하여 컬렉션에서 Atlas Search 인덱스를 제거할 수 있습니다.
다음 코드는 이름이 mySearchIdx
인 Atlas Search 인덱스를 삭제하는 방법을 보여줍니다.
$collection->dropSearchIndex('mySearchIdx');
추가 정보
인덱스를 관리하는 방법을 보여주는 실행 가능한 예제를 보려면 인덱스를 사용하여 쿼리 최적화를 참조하세요.
Atlas Search 기능을 사용하는 방법을 설명하는 튜토리얼을 보려면 Atlas 문서의 Atlas Search 시작하기를 참조하세요.
API 문서
이 가이드에서 설명하는 메서드에 대해 자세히 알아보려면 다음 API 설명서를 참조하세요.