The Search context for handling search operations across the application. Provides search functionality for both librarians and patrons with role-based filtering.
Summary
Functions
Advanced search with field-specific queries. Allows searching specific fields like title, description, creator, etc.
Search collections with optional filters.
Search items with optional filters.
Universal search across collections and items. Returns a combined result set with type indicators.
Functions
Advanced search with field-specific queries. Allows searching specific fields like title, description, creator, etc.
Examples
iex> advanced_search(%{title: "physics", creator: "einstein"})
%{results: [...], total: 2}
Search collections with optional filters.
Parameters
- query_string: The search term
- opts: Additional options like pagination, filters, etc.
Examples
iex> search_collections("science", %{page: 1, per_page: 10})
%{results: [%Collection{}], total: 5, page: 1, total_pages: 1}
Search items with optional filters.
Parameters
- query_string: The search term
- opts: Additional options like pagination, filters, etc.
Examples
iex> search_items("programming", %{status: "available"})
%{results: [%Item{}], total: 12, page: 1, total_pages: 2}
Universal search across collections and items. Returns a combined result set with type indicators.
Examples
iex> universal_search("history", %{page: 1})
%{
collections: %{results: [...], total: 3},
items: %{results: [...], total: 8},
total_results: 11
}