自 2024 年 8 月 15 日起,旧版 Vectorize(V1)索引已进入弃用路径。如果您的 Vectorize 索引满足以下任一条件,则可能是旧版索引:
- 使用低于
v3.71.0的 Wrangler 版本创建。 - 启用了
--deprecated-v1标志创建。 - 使用旧版 REST API 创建。
本文档提供有关迁移旧版 Vectorize 索引所需过渡步骤的详细信息。
旧版 Vectorize(V1)索引已进入弃用路径。对这些索引的支持将有限,不建议用于任何生产工作负载。
此外,您将无法在 2024 年 12 月之后创建旧版 Vectorize 索引。其他操作不受影响,仍将正常运行。
此外,新版 Vectorize(V2)索引可以显著更大规模运行(支持数百万向量),并提供更快的性能。请查看 限制 页面了解 Vectorize 支持的最新功能。
除了支持具有数百万向量的更大索引和更快性能外,从旧版 Vectorize 索引迁移时还需要考虑以下变更:
-
新版 Vectorize(V2)索引现在支持异步变更。任何向量 insert 或 delete,以及元数据索引创建或删除可能需要几秒钟才能生效。
-
Vectorize(V2)支持对更大索引进行元数据和 namespace 过滤,延迟显著降低。但是,可以应用元数据过滤的字段需要在插入向量之前指定。请参阅 元数据索引创建 页面了解更多详情。
-
Vectorize(V2)query 操作 现在支持搜索并返回最多 100 个最相似的向量。
-
Vectorize(V2) query 操作提供更精细的元数据查询控制。请参阅 query 操作 页面了解更多详情。
-
Vectorize(V2)扩展了通过 Wrangler(Wrangler 版本 >
v3.71.0)可用的 Vectorize 功能。
-
Wrangler 现在默认支持新版 Vectorize(V2)索引的操作。要对旧版(V1)索引使用 Wrangler 命令,必须启用
--deprecated-v1标志。请注意,此标志仅支持创建、获取、列出和删除索引以及插入向量。 -
请参阅 REST API 页面了解新版 Vectorize(V2)索引的路由和 payload 类型详情。
-
要在 Workers 中使用新版 Vectorize 索引,环境绑定必须定义为
Vectorize接口。export interface Env { // This makes your vector index methods available on env.VECTORIZE.* // For example, env.VECTORIZE.insert() or query() VECTORIZE: Vectorize; }Vectorize接口包括新版 Vectorize(V2)索引支持的类型变更和功能。对于旧版 Vectorize(V1)索引,请使用
VectorizeIndex接口。export interface Env { // This makes your vector index methods available on env.VECTORIZE.* // For example, env.VECTORIZE.insert() or query() VECTORIZE: VectorizeIndex; } -
在新版 Vectorize(V2)中,query 操作 的
returnMetadata选项现在期望all、indexed或none字符串值。对于旧版 Vectorize(V1),returnMetadata选项是布尔字段。 -
在新版 Vectorize(V2)索引中,所有索引和向量变更都是异步的,并在响应中返回
mutationId作为该变更操作的唯一标识符。这些变更操作包括:向量 Insert、向量 Upsert、向量 Delete、元数据索引创建、元数据索引删除。
要检查最后处理的变更的标识符和时间戳,请使用 Vectorize Info 命令。