OpenSearch 向量儲存
OpenSearchVector 類別使用開源搜尋及分析引擎 OpenSearch 提供向量搜尋功能。它運用 OpenSearch 的 k-NN 功能執行向量相似度搜尋。
建構函數選項建構函數選項 的直接連結
建構函數接受所有 OpenSearch ClientOptions,並額外要求必填的 id 欄位。
id:
string
此向量儲存實例的唯一識別碼
node:
string | string[] | NodeOptions | NodeOptions[]
OpenSearch 節點 URL(例如 'http://localhost:9200')
auth?:
BasicAuth | BearerAuth | AwsSigv4Auth
驗證設定
ssl?:
ConnectionOptions
SSL/TLS 設定
compression?:
'gzip'
啟用 gzip 壓縮
方法方法 的直接連結
createIndex()createindex 的直接連結
使用指定設定建立新索引。
indexName:
string
要建立的索引名稱
dimension:
number
要儲存在索引中的向量維度
metric?:
'cosine' | 'euclidean' | 'dotproduct'
= 'cosine'
向量相似度所使用的距離度量
listIndexes()listindexes 的直接連結
列出 OpenSearch 實例中的所有索引。
傳回:Promise<string[]>
describeIndex()describeindex 的直接連結
取得索引的資料。
indexName:
string
要描述的索引名稱
deleteIndex()deleteindex 的直接連結
indexName:
string
要刪除的索引名稱
upsert()upsert 的直接連結
indexName:
string
要向其中 upsert 向量的索引名稱
vectors:
number[][]
要插入的向量嵌入陣列
metadata?:
Record<string, any>[]
與各個向量對應的 metadata 物件陣列
ids?:
string[]
向量 ID 的選填陣列。如未提供,系統會產生隨機 ID
query()query 的直接連結
indexName:
string
要查詢的索引名稱
queryVector:
number[]
用於尋找相似向量的查詢向量
topK?:
number
= 10
要傳回的結果數目
filter?:
VectorFilter
套用至查詢的選填篩選條件(MongoDB 風格查詢語法)
updateVector()updatevector 的直接連結
按 ID 或 metadata 篩選條件更新單一向量。必須提供 id 或 filter 其中一項,但不可同時提供兩者。
indexName:
string
要在其中更新向量的索引名稱
id?:
string
要更新的向量 ID(不可與 filter 同時使用)
filter?:
Record<string, any>
用於識別要更新向量的 metadata 篩選條件(不可與 id 同時使用)
update:
{ vector?: number[]; metadata?: Record<string, any>; }
包含要更新的向量及/或 metadata 的物件
deleteVector()deletevector 的直接連結
按 ID 從索引刪除單一向量。
indexName:
string
要從中刪除向量的索引名稱
id:
string
要刪除的向量 ID
deleteVectors()deletevectors 的直接連結
按 ID 或 metadata 篩選條件刪除多個向量。必須提供 ids 或 filter 其中一項,但不可同時提供兩者。
indexName:
string
包含要刪除向量的索引名稱
ids?:
string[]
要刪除的向量 ID 陣列(不可與 filter 同時使用)
filter?:
Record<string, any>
用於識別要刪除向量的 metadata 篩選條件(不可與 ids 同時使用)