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

MongoDB\Collection::createSearchIndexes()

項目一覧

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

バージョン 1.17 の新機能

MongoDB\Collection::createSearchIndexes()

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

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

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

$indexes : 配列

作成するインデックスを説明するドキュメントの配列。

必須のdefinitionドキュメント フィールドには、作成するインデックスについて説明します。 定義構文の詳細については、「検索インデックスの定義構文 」を参照してください。

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

$options : 配列

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

名前
タイプ
説明
comment
混合

文字列の配列としての Atlas Search インデックスの名前。

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');
$indexNames = $collection->createSearchIndexes(
[
[
'name' => 'test-search-index',
'definition' => ['mappings' => ['dynamic' => true]],
],
]
);
var_dump($indexNames);

出力は次のようになります。

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

戻る

createSearchIndex()