Paginate search results
mainYou can paginate results using two different approaches:
- Offset and Limit: Use
OffsetandLimitfor manual pagination. You can accessEstimatedTotalHitsfrom the result. - Page and HitsPerPage: Use
PageandHitsPerPagefor page-based navigation. This returns aPaginatedSearchResult<T>which providesTotalHitsandTotalPages.
// Approach 1: Offset and Limit
var results = await index.SearchAsync<T>(query, new SearchQuery()
{
Limit = 5,
Offset = 0
});
// Approach 2: Page-based
var results = await index.SearchAsync<T>(query, new SearchQuery()
{
HitsPerPage = pageSize,
Page = pageNumber,
});
if (results is PaginatedSearchResult<T> paginatedResults)
{
var totalHits = paginatedResults.TotalHits;
var totalPages = paginatedResults.TotalPages;
}