MongoDB\Collection::createSearchIndex()
버전 1.17에 추가 되었습니다.
정의
MongoDB\Collection::createSearchIndex()
컬렉션 에 대한 Atlas Search 또는 Vector Search 인덱스 만듭니다.
function createSearchIndex( array|object $definition, array $options = [] ): string 이 명령은 MongoDB Atlas 에 호스팅된 배포에서만 실행할 수 있으며, 10 이상의 Atlas 클러스터 계층이 필요합니다. 로컬 Atlas 배포서버 를 개발에도 사용할 수 있습니다.
매개변수
$definition
: 배열|객체- 생성할 인덱스 를 설명하는 문서입니다. 정의 구문에 대한 자세한 내용은 검색 인덱스 정의 구문 을 참조하세요.
$options
: 배열원하는 옵션을 지정하는 배열입니다.
이름유형설명comment
혼합
이름
문자열
Name of the search index to create.You cannot create multiple indexes with the same name on a single collection. If you do not specify a name, the default index name isdefault
.유형
문자열
생성할 인덱스 의 유형입니다. 허용되는 값은
'search'
및'vectorSearch'
입니다. 이 옵션을 생략하면 기본값 은'search'
이며 메서드는 Atlas Search 인덱스 생성합니다.
Return Values
생성된 Atlas Search 또는 Vector Search 인덱스 의 이름(문자열)입니다.
오류/예외
옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException
입니다(예: collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.
MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).
행동
Atlas Search 및 Vector 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"