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。必须提供 id 或 filter,但不能同时提供两者。
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。必须提供 ids 或 filter,但不能同时提供两者。
indexName:
string
包含待删除 Vector 的索引名称
ids?:
string[]
要删除的 Vector ID 数组(不能与 filter 同时使用)
filter?:
Record<string, any>
用于标识待删除 Vector 的元数据筛选条件(不能与 ids 同时使用)