我们正在使用AEM 6.3,我们需要在我们的项目中实现内容搜索功能。我们使用提供的Search API实现它但问题是Search API只接受请求参数,因此我们无法缓存搜索结果页面
尝试使用选择器或设置请求属性(searchTerm和Tags),而不是创建Search Client实例并调用getResult方法,但它不会返回任何结果。
由于我们需要跨页面和多属性进行内容搜索,我们可以在此处使用QueryBuilder API并获得Search API提供的相同结果
答案 0 :(得分:2)
搜索API具有高性能,缓存不是使用搜索的最佳策略,因为您可能会获得过时的结果。实际上,您最终会缩短缓存生命周期并最终遇到同样的问题。
您应该更多地考虑使用针对目标内容等的适当索引来优化搜索。
但是,如果你真的想要缓存搜索结果,你可以查看第三方解决方案,但我会在AEM的背景下强烈反对它,因为有更好的解决方案,如: