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>[]
與每個向量對應的中繼資料物件陣列
ids?:
string[]
選用的向量 ID 陣列。未提供時會產生隨機 ID
query()「query」的直接連結
indexName:
string
要查詢的索引名稱
queryVector:
number[]
用於尋找相似向量的查詢向量
topK?:
number
= 10
要傳回的結果數量
filter?:
VectorFilter
要套用至查詢的選用篩選條件(MongoDB 風格的查詢語法)
updateVector()「updatevector」的直接連結
依 ID 或中繼資料篩選條件更新單一向量。必須提供 id 或 filter 其中一項,但不能同時提供兩者。
indexName:
string
要更新其中向量的索引名稱
id?:
string
要更新的向量 ID(不可與 filter 同時使用)
filter?:
Record<string, any>
用於識別待更新向量的中繼資料篩選條件(不可與 id 同時使用)
update:
{ vector?: number[]; metadata?: Record<string, any>; }
包含待更新向量及/或中繼資料的物件
deleteVector()「deletevector」的直接連結
依 ID 從索引中刪除單一向量。
indexName:
string
要從中刪除向量的索引名稱
id:
string
要刪除的向量 ID
deleteVectors()「deletevectors」的直接連結
依 ID 或中繼資料篩選條件刪除多個向量。必須提供 ids 或 filter 其中一項,但不能同時提供兩者。
indexName:
string
包含待刪除向量的索引名稱
ids?:
string[]
要刪除的向量 ID 陣列(不可與 filter 同時使用)
filter?:
Record<string, any>
用於識別待刪除向量的中繼資料篩選條件(不可與 ids 同時使用)