【问题标题】:How to Implement Cache while using AEM Search API如何在使用 AEM Search API 时实施缓存
【发布时间】:2017-07-11 04:05:33
【问题描述】:

我们正在使用 AEM 6.3,我们需要在我们的项目中实现内容搜索功能。我们使用提供的搜索 API 实现了它,但问题是搜索 API 只接受请求参数,因此我们无法缓存搜索结果页面.

确实尝试使用选择器或设置请求属性(searchTerm 和标签),然后创建搜索客户端实例并调用 getResult 方法,但它没有返回任何结果。

由于我们需要跨页面和多个属性进行内容搜索,我们可以在这里使用 QueryBuilder API 并获得与 Search API 提供的相同结果

【问题讨论】:

    标签: aem


    【解决方案1】:

    搜索 API 具有高性能,缓存并不是使用搜索的最佳策略,因为您可能会得到陈旧的结果。在实践中,您最终会缩短缓存的生命周期并最终遇到同样的问题。

    您应该更多地考虑使用针对目标内容等的适当索引来优化您的搜索。

    但是,如果您真的想缓存搜索结果,您可以查看 3rd 方解决方案,但在 AEM 的上下文中我强烈反对它,因为有更好的解决方案,例如:

    • 将搜索卸载到专门的发布者。您可以通过您的 LB 或调度程序规则执行此操作。
    • 通过优化索引来优化搜索。请记住,索引不会访问您的存储库。
    • 最糟糕的情况是,如果您真的在性能方面遇到困难,请查看 AEM Solr 集成,因为 Solr 具有良好的缓存。您也可以使用 ElasticSearch 或其他数据库实现相同的目的。请注意,管道和 TCO 不是免费的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-06
      • 2023-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      相关资源
      最近更新 更多