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 설명서를 참조하세요.