algolia 最佳实践:新索引或标签?
algolia best practices : new index or tags?
我已经在我的网页上成功设置了 algolia 搜索引擎。我的后端将 public 数据同步到 algolia,搜索栏工作正常。
现在我想为我的 admin 应用程序设置相同的设置。与 public 应用程序不同,此应用程序应该能够从 algolia 恢复秘密数据。
到目前为止,我可以想到两种方法:
- 对于每个文档,存储一个 "public" 版本(带有 "public" 标记)和一个管理版本(标记为 "admin",以及其他字段)。自定义 api 密钥可以确保每个应用程序都可以访问正确的数据。
或
- 创建一个新索引,也许
my_admin_collection_index
,复制设置,然后像管理应用程序中的 my_collection_index
一样使用它。
所以在第一个版本中,我搜索相同的索引,但使用不同的标签;在第二个版本中,我搜索了两个不同的索引。
是否有关于如何在这两种方法之间进行选择的一些见解?
我会说复制文档并在上面贴上一些标签对我来说会更容易,但我无法真正说明这种方法对性能的影响。
谢谢!
第一种方法是将所有对象推送到单个索引并使用权限标记它们,这是一种不错的方法。将这种方法与 Secured API keys 相结合,您可以轻松扩展,同时保持安全的前端实现(例如,将密钥嵌入 javascript 代码中)。
即使 Algolia 引擎支持每个应用程序的索引数量不受限制(我看到用户拥有 +700,000 个索引),但索引过多可能会导致一些索引开销和速度减慢(尤其是在您所在的共同计划中)与其他客户共享索引 CPU)。
我已经在我的网页上成功设置了 algolia 搜索引擎。我的后端将 public 数据同步到 algolia,搜索栏工作正常。
现在我想为我的 admin 应用程序设置相同的设置。与 public 应用程序不同,此应用程序应该能够从 algolia 恢复秘密数据。
到目前为止,我可以想到两种方法:
- 对于每个文档,存储一个 "public" 版本(带有 "public" 标记)和一个管理版本(标记为 "admin",以及其他字段)。自定义 api 密钥可以确保每个应用程序都可以访问正确的数据。
或
- 创建一个新索引,也许
my_admin_collection_index
,复制设置,然后像管理应用程序中的my_collection_index
一样使用它。
所以在第一个版本中,我搜索相同的索引,但使用不同的标签;在第二个版本中,我搜索了两个不同的索引。
是否有关于如何在这两种方法之间进行选择的一些见解? 我会说复制文档并在上面贴上一些标签对我来说会更容易,但我无法真正说明这种方法对性能的影响。
谢谢!
第一种方法是将所有对象推送到单个索引并使用权限标记它们,这是一种不错的方法。将这种方法与 Secured API keys 相结合,您可以轻松扩展,同时保持安全的前端实现(例如,将密钥嵌入 javascript 代码中)。
即使 Algolia 引擎支持每个应用程序的索引数量不受限制(我看到用户拥有 +700,000 个索引),但索引过多可能会导致一些索引开销和速度减慢(尤其是在您所在的共同计划中)与其他客户共享索引 CPU)。