MongoDB\Collection::createSearchIndex()
バージョン 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混合namestring作成する検索インデックスの名前。
単一のコレクションに同じ名前で複数のインデックスを作成することはできません。 名前を指定しない場合、インデックスには「デフォルト」という名前が付けられます。
Return Values
作成された Atlas Search インデックスの名前(string)。
エラーと例外
MongoDB\Exception\UnsupportedException
オプションが使用され、選択したサーバーでサポートされていない場合(例: collation
、 readConcern
、 writeConcern
)。
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 インデックスを作成し、サポートされているデータ型を含むすべてのドキュメント フィールドにインデックスを作成します。
$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"
その他の参照
MongoDB マニュアルのcreateSearchIndexesコマンドに関する参考資料
MongoDB マニュアルのAtlas Searchのドキュメント