Hybris FlexibleSearch分页

Hybris FlexibleSearch分页,hybris,Hybris,我浏览了有关FlexibleSearch的wiki文档,发现分页可以通过在FlexibleSearchQuery上设置3个属性来处理,即start、count和needTotal 然而,在我的项目中,我遇到了pagedFlexibleSearchService与PageableData一起使用的例子,PageableData也包含上述属性 有人能告诉我这两种方法的区别吗?我是否能够使用FlexibleSearchService实现分页 另外,needTotal的意义是什么?您提到了两个不同的点

我浏览了有关FlexibleSearch的wiki文档,发现分页可以通过在FlexibleSearchQuery上设置3个属性来处理,即start、count和needTotal

然而,在我的项目中,我遇到了pagedFlexibleSearchService与PageableData一起使用的例子,PageableData也包含上述属性

有人能告诉我这两种方法的区别吗?我是否能够使用FlexibleSearchService实现分页


另外,needTotal的意义是什么?

您提到了两个不同的点

FlexibleSearch仅用于搜索,您将从搜索中返回一个集合

PagedFlexibleSearch将在分页中返回结果列表。此分页包含更多信息,可用于前端。 例如:

getFlexibleSearchService.search(query)
在这里,你只是在你的搜索查询

getPagedFlexibleSearchService().search(sortQueries, defaultSortCode, queryParams, pageableData)
在这里,您将获得以下信息

  • sortQueries-结果列表可以按给定属性排序
  • defaultSortCode-如果没有给出sortCode,哪一个将是deafult
  • queryParams-flexibleSearch的参数
  • pageableData-此对象将保存“pageSize”、“currentPage”和“maxSize”(我不确定这一点,但它肯定会保存分页信息)

因此,如果要排序并仅显示结果的子集(例如productGridPage上的“productSearch”),通常使用FlexibleSearch仅通过给定参数(例如“freeTextSearch”)和PagedFlexibleSearch获取所有结果

一般来说,我不推荐这样的解决方案。PageableData用于SOLR结果,您需要大量的条目。Flexible search并不打算处理这个问题。PageableData更像是数据的包装器,可以处理到jsp。NeedTotal参数用于告诉flexsearch拆分结果,但您是u用它唱PageableData,我说不出来。谢谢@Hristo。我仍然有点困惑,我是否能够用FlexibkeSearchService实现分页,并启动、计数和需要总计。我期望结果达到80-100。谢谢@killeKat!!。这为我解决了问题。