Pagination

To use pagination options, we first have to configure valid values in Workbench → Data Configuration → Sorting/Pagination as described in https://hawksearch.atlassian.net/wiki/spaces/HSKB/pages/1330315288/Pagination+Sorting#Pagination . After that, we can retrieve the pagination options by looking at the Pagination property of the SearchResponse object.

Example (selecting the configured page sizes and selections from the pagination options):

public class PaginationItem { public int PageSize { get; set; } public bool Selected { get; set; } } //SearchClient _client var searchResponse = _client.Search<HawksearchProductItem>(searchRequest); var paginationOptions = searchResponse.Pagination.Items.Select(x => new PaginationItem { PageSize = x.PageSize, Selected = x.Selected })

 

We have 2 ways to use the Hawksearch pagination options (just like we have 2 ways to make a search request):

 

  1. Using only Optimizely.Hawksearch.Client

  • Set the PageNo and MaxPerPage properties directly in the SearchRequest object.

 

  1. Using both

Optimizely.Hawksearch.Client and Optimizely.Hawksearch.Connector

  • Create and populate a SearchQuery object

  • Set the Page and PageSize properties of the SearchQuery object

  • Build a SearchRequest object by passing the created SearchQuery object to a SearchRequestBuilder and its Fluent API

 

Example:

var query = new SearchQuery { Keyword = "jacket", Page = 2, //Valid values are configured in Workbench > Data Configuration > Sorting/Pagination PageSize = 15 //Valid values are configured in Workbench > Data Configuration > Sorting/Pagination };

Â