SuperAPI AI 工具集

algolia-migration

编程与开发

查看项目

更新于 10-15 20:13

技能介绍

用途:将现有 Algolia API 客户端代码迁移到更新的大版本,覆盖后端与前端 search-only 构建。前端搜索 UI 见 instantsearch,索引操作见 algolia-cli。

支持的迁移:JavaScript v4→v5、Python v3→v4、Go v3→v4、PHP v3→v4、Java v3→v4、C# v6→v7、Ruby v2→v3、Kotlin v2→v3、Scala v1→v2、Swift v8→v9。写迁移代码前先打开对应 references 文件。

通用破坏性变更:initIndex 被移除,所有方法移到 client 上并显式传 indexName;可用 grep -r "initIndex|init_index|InitIndex|index(withName" . 查找调用点。链式 .wait() 被 waitForTask、waitForAppTask、waitForApiKey 取代。copyIndex/moveIndex 合并为 operationIndex,用 operation: "copy" 或 "move" 及可选 scope。saveObjects 必须显式提供 objectID,autoGenerateObjectIDIfNotExist 已移除,需自动生成时用 chunkedBatch 的 action: addObject。replaceAllObjects 的 safe 选项移除,scopes 默认 ["settings", "rules", "synonyms"]。Browse 辅助改为聚合回调或可迭代模式,因语言而异。AccountClient 移除,跨应用复制需手动组合两个 client;JS v5 例外,内置 client.accountCopyIndex。各 API 使用独立 client 类,需更新 RecommendClient、AnalyticsClient、AbtestingClient 等导入。

迁移流程:从 package.json、go.mod、composer.json、pom.xml、Gemfile 等识别语言与版本;打开对应参考文件;grep 枚举 initIndex 调用点;先更新依赖让编译器暴露问题;先应用通用变更再处理语言特定变更;替换 wait 模式;运行现有测试或最小集成测试验证。

直接调用:/algolia-migration 可加载完整技能,适合请求简短、可能不会自动触发的场景。限制:仅覆盖上述语言与版本迁移,其他语言或版本暂未提供。