Skip to Content
リファレンスRAGOpenSearchVector

OpenSearch ベクトルストア

OpenSearchVectorクラスは、OpenSearchを使用してベクトル検索を提供します。OpenSearchは強力なオープンソースの検索・分析エンジンです。このクラスはOpenSearchのk-NN機能を活用して、効率的なベクトル類似性検索を実行します。

コンストラクタオプション

url:

string
OpenSearch接続URL(例:'http://localhost:9200')

メソッド

createIndex()

指定された設定で新しいインデックスを作成します。

indexName:

string
作成するインデックスの名前

dimension:

number
インデックスに格納されるベクトルの次元

metric?:

'cosine' | 'euclidean' | 'dotproduct'
= 'cosine'
ベクトル類似性に使用する距離メトリック

listIndexes()

OpenSearchインスタンス内のすべてのインデックスを一覧表示します。

戻り値: Promise<string[]>

describeIndex()

インデックスに関する情報を取得します。

indexName:

string
説明するインデックスの名前

deleteIndex()

indexName:

string
削除するインデックスの名前

upsert()

indexName:

string
ベクトルをアップサートするインデックスの名前

vectors:

number[][]
挿入するベクトル埋め込みの配列

metadata?:

Record<string, any>[]
各ベクトルに対応するメタデータオブジェクトの配列

ids?:

string[]
ベクトルのIDの任意の配列。提供されない場合、ランダムなIDが生成されます

query()

indexName:

string
クエリを実行するインデックスの名前

queryVector:

number[]
類似ベクトルを検索するためのクエリベクトル

topK?:

number
= 10
返す結果の数

filter?:

VectorFilter
クエリに適用するオプションのフィルター(MongoDBスタイルのクエリ構文)

updateVector()

IDによって特定のベクトルエントリを新しいベクトルデータやメタデータで更新します。

indexName:

string
ベクトルを更新するインデックスの名前

id:

string
更新するベクトルのID

update:

object
ベクトルやメタデータを含む更新データ

update.vector?:

number[]
新しいベクトル埋め込み

update.metadata?:

Record<string, any>
新しいメタデータ

deleteVector()

インデックスから特定のベクトルエントリをIDによって削除します。

indexName:

string
ベクトルを削除するインデックスの名前

ids:

string[]
削除するベクトルIDの配列

関連