跳至主要內容

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 或中繼資料篩選條件更新單一向量。必須提供 idfilter 其中一項,但不能同時提供兩者。

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 或中繼資料篩選條件刪除多個向量。必須提供 idsfilter 其中一項,但不能同時提供兩者。

indexName:

string
包含待刪除向量的索引名稱

ids?:

string[]
要刪除的向量 ID 陣列(不可與 filter 同時使用)

filter?:

Record<string, any>
用於識別待刪除向量的中繼資料篩選條件(不可與 ids 同時使用)