vectorフィールドタイプとvectorSearch 演算子はプレビュー機能として利用できます。機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。詳しくは、「 プレビュー機能 」を参照してください。vector型を使用してベクトル埋め込みをインデックスできます。ベクトルフィールドには、次の型の 番号の配列が含まれている必要があります。
BSON
int32、int64、またはdoubleデータ型BSON
doubleデータ型
集計パイプラインでは、 $searchステージと同様に$vectorSearch vectorSearch 演算子を使用して、vector タイプとしてインデックス作成されたフィールドをクエリできます。
vector 型の制限
次の制限が適用されます。
オブジェクトの配列を含むフィールド( MongoDB Search
embeddedDocuments型)をvector型としてインデックスことはできません。タイプを含むインデックス定義で、 storedSource
truevectorincludemongotexcludevectorを に設定することはできません。代わりに、 を使用して に保存するフィールドを指定するか、 を使用して 型フィールドをストレージから除外します。$vectorSearchステージを使用してvectorタイプとしてインデックス作成されたフィールドをクエリすることはできません。
vector 型のインデックスを定義する
vector フィールド プロパティを構成する
vector フィールド プロパティを構成する
MongoDB Search vector 型は次のパラメータを取ります。
オプション | タイプ | 必要性 | 説明 |
|---|---|---|---|
|
| 必須 | このフィールド型を識別する、人間が判読できるラベル。値は |
| Int | 必須 | MongoDB Search がインデックス作成時およびクエリ時に強制されるベクトル次元の数。このフィールドは 量子化ベクトルまたは BinData のインデックス作成には、次のいずれかの値を指定できます。
選択した埋め込みモデルによってベクトル埋め込みの次元数が決まります。出力の次元数に関して複数のオプションを持つモデルもあります。詳細については、「埋め込みを作成する方法の選択」を参照してください。 |
| 文字列 | 必須 | 上位 K 近傍の検索に使用するベクトル類似度関数。このフィールドは 次のいずれかの値を指定できます。
詳細については、「 類似性関数について 」を参照してください。 |
| 文字列 | 任意 | ベクトルの自動ベクトル量子化のタイプ。埋め込みが 次のいずれかの値を指定できます。
詳細については、「 ベクトル量子化 」を参照してください。 |
| オブジェクト | 任意 | Hierarchical Navigable Small Worldsグラフの構築に使用するパラメーター。省略した場合、は 重要: これはプレビュー機能として利用できます。デフォルト値を変更すると、 MongoDB Search のインデックスとクエリに悪影響を影響可能性があります。 |
hnswOptions.maxEdges | Int | 任意 | Hierarchical Navigable Small Worldsグラフでノードが持つことができるエッジ(または接続)の最大数。値は、両端を含む 数値が大きいほど、グラフの接続がより適切になるため、再現率(検索結果の精度)が向上します。ただし、グラフノードごとに評価する近傍の数を増やすことでクエリとインデックスの作成時間も増加するため、 Hierarchical Navigable Small Worldsグラフの各接続の追加ノードを保存するにはより多くのメモリが必要になります。 |
hnswOptions.numEdgeCandidates | Int | 任意 | クエリ時の 数値が大きいほど接続が高品質のグラフが提供されるため、検索の品質(再現率)は向上しますが、 クエリレイテンシも増加する可能性があります。 |
vector 型の例を試す
次のインデックス定義の例では、サンプルデータのsample_mflix.embedded_movies コレクションを使用しています。コレクションplot_embedding_voyage_3_large を読み込んだ後、vector vectorSearch( MongoDB検索演算子)を使用してクエリを実行中ために、 例を 型としてインデックスできます。このインデックスに対して実行するサンプルクエリについては、「 例 」を参照してください。
このインデックス定義は、デフォルトの を使用してすべての動的にインデックス可能なフィールドを自動的にインデックス化し、 typeSetplot_embedding_voyage_3_largeフィールドも次の設定でvector タイプとしてインデックス化します。
2048次元数dotProduct類似関数scalar量子化