AshScylla.Search.Query.Paginator (AshScylla v1.6.1)

Copy Markdown View Source

Pagination helpers for search results.

Summary

Functions

Paginates a list of results.

Types

entry()

@type entry() :: {String.t(), float()}

page()

@type page() :: %{
  entries: [entry()],
  page_number: pos_integer(),
  page_size: pos_integer(),
  total_count: non_neg_integer(),
  total_pages: non_neg_integer(),
  has_next?: boolean(),
  has_prev?: boolean()
}

Functions

paginate(results, opts \\ [])

@spec paginate(
  [entry()],
  keyword()
) :: {:ok, page()} | {:error, term()}

Paginates a list of results.

Options

  • :page — page number, starting at 1 (default: 1)
  • :page_size — number of results per page (default: 20)

Returns a map with metadata about the current page.