Docs Menu
Docs Home
/ / /
PHP 라이브러리 매뉴얼
/ /

MongoDB\Collection::createSearchIndexes()

버전 1.17에 추가 되었습니다.

MongoDB\Collection::createSearchIndexes()

컬렉션 에 대해 하나 이상의 Atlas Search 또는 Vector Search 인덱스를 만듭니다.

function createSearchIndexes(
array $indexes,
array $options = []
): string

이 명령은 MongoDB Atlas 에 호스팅된 배포에서만 실행할 수 있으며, 10 이상의 Atlas 클러스터 계층이 필요합니다. 로컬 Atlas 배포서버 를 개발에도 사용할 수 있습니다.

$indexes : 배열

생성할 인덱스를 설명하는 문서의 배열입니다.

필수 definition 문서 필드는 생성할 인덱스를 설명합니다. 정의 구문에 대한 자세한 내용은 Atlas Search 인덱스 정의 구문을 참조하세요.

선택 사항인 name 문자열 필드 생성할 검색 인덱스 의 이름을 지정합니다. 단일 컬렉션 에 동일한 이름으로 여러 인덱스를 만들 수 없습니다. 이름을 지정하지 않으면 기본값 인덱스 이름은 default입니다.

선택 사항인 type 문자열 필드 생성할 검색 인덱스 유형을 지정합니다. 허용되는 값은 'search''vectorSearch'입니다. 유형을 지정하지 않으면 메서드가 Atlas Search 인덱스 생성합니다.

$options : 배열

원하는 옵션을 지정하는 배열입니다.

이름
유형
설명

comment

혼합

생성된 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 인덱스를 만듭니다.

<?php
$collection = (new MongoDB\Client)->getCollection('test', 'articles');
$indexNames = $collection->createSearchIndexes(
[
[
'name' => 'test-search-index',
'definition' => ['mappings' => ['dynamic' => true]],
],
]
);
var_dump($indexNames);

이 경우 출력은 다음과 유사합니다:

array(1) {
[0]=>
string(17) "test-search-index"
}

돌아가기

createSearchIndex()

이 페이지의 내용