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')
我浏览了有关 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')