跳转到内容
搜索文档

迁移旧版 Vectorize 索引

最后更新 查看 MarkdownAgent 设置

自 2024 年 8 月 15 日起,旧版 Vectorize(V1)索引已进入弃用路径。如果您的 Vectorize 索引满足以下任一条件,则可能是旧版索引:

  1. 使用低于 v3.71.0 的 Wrangler 版本创建。
  2. 启用了 --deprecated-v1 标志创建。
  3. 使用旧版 REST API 创建。

本文档提供有关迁移旧版 Vectorize 索引所需过渡步骤的详细信息。

为什么应该迁移?

旧版 Vectorize(V1)索引已进入弃用路径。对这些索引的支持将有限,不建议用于任何生产工作负载。

此外,您将无法在 2024 年 12 月之后创建旧版 Vectorize 索引。其他操作不受影响,仍将正常运行。

此外,新版 Vectorize(V2)索引可以显著更大规模运行(支持数百万向量),并提供更快的性能。请查看 限制 页面了解 Vectorize 支持的最新功能。

主要变更

除了支持具有数百万向量的更大索引和更快性能外,从旧版 Vectorize 索引迁移时还需要考虑以下变更:

  1. 新版 Vectorize(V2)索引现在支持异步变更。任何向量 insert 或 delete,以及元数据索引创建或删除可能需要几秒钟才能生效。

  2. Vectorize(V2)支持对更大索引进行元数据和 namespace 过滤,延迟显著降低。但是,可以应用元数据过滤的字段需要在插入向量之前指定。请参阅 元数据索引创建 页面了解更多详情。

  3. Vectorize(V2)query 操作 现在支持搜索并返回最多 100 个最相似的向量。

  4. Vectorize(V2) query 操作提供更精细的元数据查询控制。请参阅 query 操作 页面了解更多详情。

  5. Vectorize(V2)扩展了通过 Wrangler(Wrangler 版本 > v3.71.0)可用的 Vectorize 功能。

迁移

  1. Wrangler 现在默认支持新版 Vectorize(V2)索引的操作。要对旧版(V1)索引使用 Wrangler 命令,必须启用 --deprecated-v1 标志。请注意,此标志仅支持创建、获取、列出和删除索引以及插入向量。

  2. 请参阅 REST API 页面了解新版 Vectorize(V2)索引的路由和 payload 类型详情。

  3. 要在 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;
    }
  4. 在新版 Vectorize(V2)中,query 操作returnMetadata 选项现在期望 allindexednone 字符串值。对于旧版 Vectorize(V1),returnMetadata 选项是布尔字段。

  5. 在新版 Vectorize(V2)索引中,所有索引和向量变更都是异步的,并在响应中返回 mutationId 作为该变更操作的唯一标识符。

    这些变更操作包括:向量 Insert向量 Upsert向量 Delete元数据索引创建元数据索引删除

    要检查最后处理的变更的标识符和时间戳,请使用 Vectorize Info 命令

这篇文档对您有帮助吗?