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

MongoDB\Collection::createSearchIndex()

이 페이지의 내용

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

버전 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에 동일한 이름으로 여러 인덱스를 생성할 수 없습니다. 이름을 지정하지 않으면 인덱스 이름은 "기본값"이 됩니다.

생성된 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');
$indexName = $collection->createSearchIndex(
['mappings' => ['dynamic' => true]],
['name' => 'test-search-index']
);
var_dump($indexName);

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

string(17) "test-search-index"

돌아가기

createIndexes()