AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

MongoDB\Collection::createSearchIndex()

1.17バージョン の新機能。:

MongoDB\Collection::createSearchIndex()

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

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

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

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

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

名前
タイプ
説明

comment

混合

name

string


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

タイプ

string

作成するインデックスのタイプ。指定可能な値は 'search''vectorSearch' です。このオプションを省略した場合、デフォルトは 'search' で、メソッドはMongoDB検索インデックスを作成します。

作成されたMongoDB Search またはベクトル検索インデックスの名前を string として表します。

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

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

MongoDB$Driver\Exception\RuntimeException は、拡張レベルの他のエラーの場合(例:)。

MongoDB Search インデックスとベクトル検索インデックスは非同期で管理されます。インデックスを作成または更新した後、MongoDB\Collection::listSearchIndexes() を定期的に実行し、queryable 出力フィールド を確認して、使用可能かどうかを判断します。

次の例では、動的マッピングを使用してMongoDB 検索インデックスを作成し、サポートされているデータ型を含むすべてのドキュメント フィールドにインデックスします。

<?php
$collection = (new MongoDB\Client)->getCollection('test', 'articles');
$indexName = $collection->createSearchIndex(
['mappings' => ['dynamic' => true]],
['name' => 'test-search-index']
);
var_dump($indexName);

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

string(17) "test-search-index"