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

MongoDB\Collection::createSearchIndexes()

バージョン 1.17 の新機能

MongoDB\Collection::createSearchIndexes()

コレクションに対して 1 つ以上の Atlas Search またはベクトル検索インデックスを作成します。

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

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

$indexes : 配列

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

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

任意の namestringフィールドは、作成する検索インデックスの名前を指定します。単一のコレクションに対して、同じ名前で複数のインデックスを作成することはできません。名前を指定しない場合、デフォルトのインデックス名は default です。

任意の typestringフィールドは、作成する検索インデックスのタイプを指定します。指定可能な値は 'search''vectorSearch' です。タイプを指定しない場合、 メソッドは Atlas Searchインデックスを作成します。

$options : 配列

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

名前
タイプ
説明

comment

混合

文字列の配列として作成された Atlas Search およびベクトル検索インデックスの名前。

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

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

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

Atlas Search インデックスとベクトル検索インデックスは非同期で管理されます。インデックスを作成または更新した後、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()

項目一覧

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