Hybris 灵活搜索分页

Hybris FlexibleSearch Pagination

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

但是,在我的项目中,我遇到过 pagedFlexibleSearchService 与同样具有上述属性的 PageableData 一起使用的示例。

有人可以告诉我这两种方法有什么区别吗?我可以使用 FlexibleSearchService 实现分页吗?

还有needTotal的意义是什么?

你提到了两个不同点。

FlexibleSearch 仅用于搜索,您将 return 从您的搜索中选择一个集合。

PagedFlexibleSearch 你会 return 一个分页的结果列表。此分页包含更多信息,您可以在前端使用这些信息。 例如:

getFlexibleSearchService.search(query)

在这里,您只是在搜索查询中。

getPagedFlexibleSearchService().search(sortQueries, defaultSortCode, queryParams, pageableData)

在这里您将获得以下信息。

  • sortQueries - 结果列表可以按给定的属性排序
  • defaultSortCode - 如果没有给出 sortCode,哪一个将是默认的
  • queryParams - 灵活搜索的参数
  • pageableData - 这个对象将保存 'pageSize'、'currentPage' 和 'maxSize'(我在这里不确定,但它肯定会保存分页信息。

所以通常情况下,您将使用 FlexibleSearch 来获取给定参数的所有结果(例如 'freeTextSearch'),如果您想要排序并仅显示结果的子集(例如productGridPage 上的 'productSearch')