2016-12-14 63 views
3

我正在瀏覽關於Flexible Search的wiki文檔,並發現可以通過在FlexibleSearchQuery上設置3個屬性來處理分頁,即start,count和needTotal。Hybris FlexibleSearch分頁

但是,在我的項目中,我遇到過一些示例,pagedFlexibleSearchService與PageableData一起使用,它也具有上述屬性。

有人請讓我知道2種方法之間有什麼區別?我能否使用FlexibleSearchService實現分頁?

needTotal又有什麼意義?

+0

一般來說,我不會推薦這樣的解決方案。 PageableData用於SOLR結果,您期望有很多條目。靈活搜索並不意味着要處理這個問題。 PageableData更像是數據的包裝,可以處理到jsp。 NeedTotal參數用於告訴flexsearch分割結果,但您使用的是PageableData,我無法分辨。 –

+0

謝謝@Hristo。我仍然有點困惑,我是否能夠通過FlexibkeSearchService實現分頁,並啓動,計數和needTotal。我期待的結果大到80-100。 – Farhan

回答

1

你提到了兩點不同。

FlexibleSearch只是爲了搜索,你會從您的搜索返回一個集合。

PagedFlexibleSearch將你的分頁返回resultList。這個分頁有更多的信息,你可以在你的前端使用。 例如:

getFlexibleSearchService.search(query) 

在這裏,你只需但在SEARCHQUERY。

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

在這裏您將獲得以下信息。

  • sortQueries - 結果列表可以通過給定的屬性進行排序
  • defaultSortCode - 如果沒有SORTCODE給出,其中之一將是deafult一個
  • queryParams - 爲flexibleSearch
  • pageableData的PARAMS - 此對象將舉辦「pageSize的」,「當前頁」和「最大範圍」(我不放棄知道這在這裏,但它肯定將舉行分頁信息

所以在共同的你。將使用FlexibleSearch僅獲得給定參數的所有結果(例如'freeTextSearch')和PagedFlexibleSearch(如果要分類並僅顯示子集的結果)(例如productGridPage上的'productSearch')

+0

謝謝@killeKat !!。這爲我整理了一些東西。 – Farhan