跳到主要内容

OpenSearch Vector 存储

OpenSearchVector 类使用开源搜索与分析引擎 OpenSearch 提供 Vector 搜索。它利用 OpenSearch 的 k-NN 功能执行 Vector 相似度搜索。

构造函数选项
构造函数选项的直接链接

构造函数接受所有 OpenSearch ClientOptions,以及一个必需的 id 字段。

id:

string
此 Vector 存储实例的唯一标识符

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
要存储在索引中的 Vector 维度

metric?:

'cosine' | 'euclidean' | 'dotproduct'
= 'cosine'
Vector 相似度使用的距离度量

listIndexes()
listindexes的直接链接

列出 OpenSearch 实例中的所有索引。

返回:Promise<string[]>

describeIndex()
describeindex的直接链接

获取索引信息。

indexName:

string
要描述的索引名称

deleteIndex()
deleteindex的直接链接

indexName:

string
要删除的索引名称

upsert()
upsert的直接链接

indexName:

string
要 upsert Vector 的索引名称

vectors:

number[][]
要插入的嵌入 Vector 数组

metadata?:

Record<string, any>[]
与每个 Vector 对应的元数据对象数组

ids?:

string[]
可选的 Vector ID 数组。未提供时将生成随机 ID

query()
query的直接链接

indexName:

string
要查询的索引名称

queryVector:

number[]
用于查找相似 Vector 的查询 Vector

topK?:

number
= 10
要返回的结果数量

filter?:

VectorFilter
应用于查询的可选筛选条件(MongoDB 风格的查询语法)

updateVector()
updatevector的直接链接

按 ID 或元数据筛选条件更新单个 Vector。必须提供 idfilter,但不能同时提供两者。

indexName:

string
包含待更新 Vector 的索引名称

id?:

string
要更新的 Vector ID(不能与 filter 同时使用)

filter?:

Record<string, any>
用于标识待更新 Vector 的元数据筛选条件(不能与 id 同时使用)

update:

{ vector?: number[]; metadata?: Record<string, any>; }
包含待更新 Vector 和/或元数据的对象

deleteVector()
deletevector的直接链接

按 ID 从索引中删除单个 Vector。

indexName:

string
要从中删除 Vector 的索引名称

id:

string
要删除的 Vector ID

deleteVectors()
deletevectors的直接链接

按 ID 或元数据筛选条件删除多个 Vector。必须提供 idsfilter,但不能同时提供两者。

indexName:

string
包含待删除 Vector 的索引名称

ids?:

string[]
要删除的 Vector ID 数组(不能与 filter 同时使用)

filter?:

Record<string, any>
用于标识待删除 Vector 的元数据筛选条件(不能与 ids 同时使用)