> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # OpenSearch vector store OpenSearchVector クラスは、オープンソースの検索・分析エンジン [OpenSearch](https://opensearch.org/) を使用したベクトル検索を提供します。OpenSearch の k-NN 機能を使用してベクトル類似度検索を行います。 ## コンストラクターオプション コンストラクターは、必須の `id` フィールドに加えて、すべての [OpenSearch ClientOptions](https://opensearch.org/docs/latest/clients/javascript/index/) を受け取ります。 **id** (`string`): この vector store インスタンスの一意な識別子 **node** (`string | string[] | NodeOptions | NodeOptions[]`): OpenSearch ノードの URL(例: 'http\://localhost:9200') **auth** (`BasicAuth | BearerAuth | AwsSigv4Auth`): 認証設定 **ssl** (`ConnectionOptions`): SSL/TLS 設定 **compression** (`'gzip'`): gzip 圧縮を有効にするかどうか ## メソッド ### `createIndex()` 指定した設定で新しいインデックスを作成します。 **indexName** (`string`): 作成するインデックスの名前 **dimension** (`number`): インデックスに保存するベクトルの次元数 **metric** (`'cosine' | 'euclidean' | 'dotproduct'`): ベクトル類似度に使用する距離指標 (Default: `'cosine'`) ### `listIndexes()` OpenSearch インスタンス内のすべてのインデックスを一覧表示します。 戻り値: `Promise` ### `describeIndex()` インデックスの情報を取得します。 **indexName** (`string`): 詳細を取得するインデックスの名前 ### `deleteIndex()` **indexName** (`string`): 削除するインデックスの名前 ### `upsert()` **indexName** (`string`): ベクトルを upsert するインデックスの名前 **vectors** (`number[][]`): 挿入する埋め込みベクトルの配列 **metadata** (`Record[]`): 各ベクトルに対応するメタデータオブジェクトの配列 **ids** (`string[]`): ベクトル ID の省略可能な配列。未指定の場合はランダムな ID が生成されます ### `query()` **indexName** (`string`): クエリ対象のインデックス名 **queryVector** (`number[]`): 類似ベクトルを検索するためのクエリベクトル **topK** (`number`): 返す結果の数 (Default: `10`) **filter** (`VectorFilter`): クエリに適用する省略可能なフィルター(MongoDB 形式のクエリ構文) ### `updateVector()` ID またはメタデータフィルターで単一のベクトルを更新します。`id` と `filter` のいずれか一方だけを指定する必要があります。 **indexName** (`string`): ベクトルを更新するインデックスの名前 **id** (`string`): 更新するベクトルの ID(filter とは同時に指定できません) **filter** (`Record`): 更新するベクトルを特定するメタデータフィルター(id とは同時に指定できません) **update** (`{ vector?: number[]; metadata?: Record; }`): 更新するベクトルやメタデータを含むオブジェクト ### `deleteVector()` ID を指定して、インデックスから単一のベクトルを削除します。 **indexName** (`string`): ベクトルを削除するインデックスの名前 **id** (`string`): 削除するベクトルの ID ### `deleteVectors()` ID またはメタデータフィルターで複数のベクトルを削除します。`ids` と `filter` のいずれか一方だけを指定する必要があります。 **indexName** (`string`): 削除するベクトルを含むインデックスの名前 **ids** (`string[]`): 削除するベクトル ID の配列(filter とは同時に指定できません) **filter** (`Record`): 削除するベクトルを特定するメタデータフィルター(ids とは同時に指定できません) ## 関連項目 - [メタデータフィルター](https://mastra.zisheng.pro/ja/reference/rag/metadata-filters)