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の配列