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

MongoDB\Collection::createSearchIndexes()

이 페이지의 내용

  • 정의
  • 매개변수
  • Return Values
  • 오류/예외
  • 행동
  • 예시
  • 다음도 참조하세요.

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

MongoDB\Collection::createSearchIndexes()

collection에 대해 하나 이상의 Atlas Search 검색 인덱스를 만듭니다.

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

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

$indexes : 배열

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

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

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

$options : 배열

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

이름
유형
설명
comment
혼합

생성된 Atlas Search의 이름은 검색 인덱스로 문자열 배열입니다.

옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException입니다(예: collation, readConcern, writeConcern).

MongoDB\Exception\InvalidArgumentException 매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.

MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).

Atlas Search 인덱스는 비동기적으로 managed 됩니다. 인덱스 를 생성하거나 업데이트한 후 주기적으로 MongoDB\Collection::listSearchIndexes() 를 실행하고 queryable 출력 필드 를 확인하여 사용할 준비가 되었는지 확인할 수 있습니다.

다음 예제에서는 동적 매핑 을 사용하여 지원되는 데이터 유형이 포함된 모든 문서 필드를 인덱싱하는 Atlas Search 인덱스를 만듭니다.

<?php
$collection = (new MongoDB\Client)->selectCollection('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()