代码之家  ›  专栏  ›  技术社区  ›  aherve

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

  •  5
  • aherve  · 技术社区  · 10 年前

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

    现在我想为我的 管理 应用与 平民的 应用程序,此应用程序应该能够从algolia恢复机密数据。

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

    1. 对于每个文档,存储一个“public”版本(带有“public(公共)”标记)和一个admin版本(带有标记“admin(管理)”和其他字段)。然后,自定义api键可以确保每个应用程序都可以访问适当的数据。

    1. 也许创建一个新索引 my_admin_collection_index ,复制设置,并像使用 my_collection_index 从管理应用程序。

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

    对于如何在这两种方法之间进行选择,有什么见解吗? 我想说,对我来说,复制文档并在其上添加一些标记会更容易,但我真的无法说出这种方法对性能的影响。

    谢谢

    1 回复  |  直到 10 年前
        1
  •  8
  •   redox    10 年前

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

    即使Algolia引擎支持每个应用程序无限数量的索引(我看到用户拥有+700000个索引),索引过多可能会导致一些索引开销&减速(尤其是在与其他客户共享索引CPU的交互式计划上)。