Refine. Search
(Refine v0.3.0)
Copy Markdown
Search functions.
Summary
Types
@type create_facets_table_return() :: {:ok, String.t()} | {:error, :column_not_found, String.t()} | {:error, :column_names_not_unique} | {:error, :facets_table_exists, String.t()} | {:error, :identity_column_already_exists, String.t()} | {:error, :identity_column_invalid_type, String.t()} | {:error, :identity_column_not_found, String.t()} | {:error, :invalid_table_name, String.t()} | {:error, :table_names_not_unique} | {:error, Exception.t()}
@type database_option() :: {:repo, repo()} | postgrex_option()
@type database_options() :: [database_option()]
@type facet_configs() :: [facet_config()]
@type facets_table_config() :: %{ add_identity_column_if_not_exists: boolean() | nil, facets_table: String.t(), facets: facet_configs(), identity_column: String.t(), joins: join_configs() | nil, roaringbitmap_type: String.t() | nil, source_table: String.t() } | keyword()
@type join_configs() :: [join_config()]
@type order_by_entry() :: {String.t(), order_direction()} | {String.t(), order_direction(), sort_nulls()}
@type order_direction() :: :asc | :desc
@type postgrex_options() :: [postgrex_option()]
@type repo() :: module()
@type search_option() :: {:facets, map()} | {:limit, integer()} | {:offset, integer()} | {:order_by, [order_by_entry()]} | {:query, Ecto.Query.t()} | {:repo, repo()} | {:result_fields, [String.t()]} | postgrex_option()
@type search_options() :: [search_option()]
@type search_return() :: {:ok, search_return_data()} | {:error, Exception.t()}
@type sort_nulls() :: :first | :last | :default
Functions
@spec search(facets_table_config(), search_options()) :: search_return()
See: Refine.search/2.