MongoDB\Collection::createSearchIndex()
버전 1.17에 추가 되었습니다.
정의
MongoDB\Collection::createSearchIndex()
collection에 대한 Atlas Search 인덱스를 생성합니다.
function createSearchIndex( array|object $definition, array $options = [] ): string 이 명령은 MongoDB Atlas 에 호스팅된 배포에서만 실행할 수 있으며, 10 이상의 Atlas 클러스터 계층이 필요합니다. 로컬 Atlas 배포서버 를 개발에도 사용할 수 있습니다.
매개변수
$definition
: 배열|객체- 생성할 인덱스 를 설명하는 문서입니다. 정의 구문에 대한 자세한 내용은 검색 인덱스 정의 구문 을 참조하세요.
$options
: 배열원하는 옵션을 지정하는 배열입니다.
이름유형설명comment
혼합
이름
문자열
생성할 검색 인덱스의 이름입니다.
단일 collection에 동일한 이름으로 여러 인덱스를 생성할 수 없습니다. 이름을 지정하지 않으면 인덱스 이름은 "기본값"이 됩니다.
Return Values
생성된 Atlas Search 검색 인덱스의 이름(문자열)입니다.
오류/예외
옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException
입니다(예: collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.
MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).
행동
Atlas Search 인덱스는 비동기적으로 managed 됩니다. 인덱스 를 생성하거나 업데이트한 후 주기적으로 MongoDB\Collection::listSearchIndexes()
를 실행하고 queryable
출력 필드 를 확인하여 사용할 준비가 되었는지 확인할 수 있습니다.
예시
동적 매핑으로 인덱스 만들기
다음 예제에서는 동적 매핑 을 사용하여 지원되는 데이터 유형이 포함된 모든 문서 필드를 인덱싱하는 Atlas Search 인덱스를 만듭니다.
$collection = (new MongoDB\Client)->selectCollection('test', 'articles'); $indexName = $collection->createSearchIndex( ['mappings' => ['dynamic' => true]], ['name' => 'test-search-index'] ); var_dump($indexName);
이 경우 출력은 다음과 유사합니다:
string(17) "test-search-index"