Docs Menu
Docs Home
/ / /
PHP ライブラリ マニュアル
/ /

MongoDB\Collection::createSearchIndex()

項目一覧

  • 定義
  • パラメーター
  • Return Values
  • エラーと例外
  • 動作
  • その他の参照

バージョン 1.17 の新機能

MongoDB\Collection::createSearchIndex()

コレクションの Atlas Search インデックスを作成します。

function createSearchIndex(
array|object $definition,
array $options = []
): string

このコマンドは、 MongoDB Atlasでホストされている配置でのみ実行でき、少なくとも M 10の Atlas クラスター階層が必要です。 Atlas のローカル配置は、開発にも使用できます。

$definition : array|object
作成するインデックスを説明するドキュメント。 定義構文の詳細については、「検索インデックスの定義構文 」を参照してください。
$options : 配列

必要なオプションを指定する配列。

名前
タイプ
説明

comment

混合

name

string

作成する検索インデックスの名前。

単一のコレクションに同じ名前で複数のインデックスを作成することはできません。 名前を指定しない場合、インデックスには「デフォルト」という名前が付けられます。

作成された Atlas Search インデックスの名前(string)。

MongoDB\Exception\UnsupportedExceptionオプションが使用され、選択したサーバーでサポートされていない場合(例: collationreadConcernwriteConcern )。

MongoDB\Exception\InvalidArgumentException は、パラメータまたはオプションの解析に関連するエラーの場合は です。

MongoDB\Driver\Exception\RuntimeException 拡張レベルのその他のエラー(例:)。

Atlas Search インデックスは非同期で管理されます。 After creating or updating an index, you can periodically execute MongoDB\Collection::listSearchIndexes() and check the queryable output field to determine whether it is ready to be used.

次の例では、動的マッピングを使用して 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()