algolia 最佳实践:新索引或标签?

algolia best practices : new index or tags?

我已经在我的网页上成功设置了 algolia 搜索引擎。我的后端将 public 数据同步到 algolia,搜索栏工作正常。

现在我想为我的 admin 应用程序设置相同的设置。与 public 应用程序不同,此应用程序应该能够从 algolia 恢复秘密数据。

到目前为止,我可以想到两种方法:

  1. 对于每个文档,存储一个 "public" 版本(带有 "public" 标记)和一个管理版本(标记为 "admin",以及其他字段)。自定义 api 密钥可以确保每个应用程序都可以访问正确的数据。

  1. 创建一个新索引,也许 my_admin_collection_index,复制设置,然后像管理应用程序中的 my_collection_index 一样使用它。

所以在第一个版本中,我搜索相同的索引,但使用不同的标签;在第二个版本中,我搜索了两个不同的索引。

是否有关于如何在这两种方法之间进行选择的一些见解? 我会说复制文档并在上面贴上一些标签对我来说会更容易,但我无法真正说明这种方法对性能的影响。

谢谢!

第一种方法是将所有对象推送到单个索引并使用权限标记它们,这是一种不错的方法。将这种方法与 Secured API keys 相结合,您可以轻松扩展,同时保持安全的前端实现(例如,将密钥嵌入 javascript 代码中)。

即使 Algolia 引擎支持每个应用程序的索引数量不受限制(我看到用户拥有 +700,000 个索引),但索引过多可能会导致一些索引开销和速度减慢(尤其是在您所在的共同计划中)与其他客户共享索引 CPU)。