Meili.Search (Meili v0.1.0)

Copy Markdown View Source

Performs search operations against Meilisearch indexes.

Summary

Functions

facet_search(client_or_uid, uid_or_facet_name, facet_name_or_query \\ nil, facet_query_or_opts \\ [], opts \\ [])

Searches for facet values in a specific index.

Examples

Meili.Search.facet_search("movies", "genre", "sci-fi")
Meili.Search.facet_search(client, "movies", "genre", "sci-fi", filter: "rating > 4")

facet_search!(client_or_uid, uid_or_facet_name, facet_name_or_query \\ nil, facet_query_or_opts \\ [], opts \\ [])

Searches for facet values, raising on error.

multi_search(client_or_queries, queries_or_opts \\ [], opts \\ [])

Performs search queries across multiple indexes.

Examples

queries = [
  %{index_uid: "movies", q: "star wars", limit: 5},
  %{index_uid: "books", q: "dune", limit: 5}
]
Meili.Search.multi_search(queries)
Meili.Search.multi_search(client, queries)

multi_search!(client_or_queries, queries_or_opts \\ [], opts \\ [])

Performs multi-search queries, raising on error.

search(client_or_uid, uid_or_query, query_or_opts \\ [], opts \\ [])

Performs a search query on a specific index.

Automatically converts snake_case search parameters to camelCase.

Options

  • limit: Max number of results.
  • offset: Number of results to skip.
  • filter: Filter expression.
  • facets: Facet attributes.
  • sort: Sort attributes.
  • attributes_to_retrieve / attributesToRetrieve: Attributes to return.
  • attributes_to_highlight / attributesToHighlight: Attributes to highlight.
  • show_ranking_score / showRankingScore: Include relevancy score.
  • hybrid: Hybrid search configuration (e.g. semantic/lexical ratio).

Examples

Meili.Search.search("movies", "star wars", limit: 5)
Meili.Search.search(client, "movies", "star wars", attributes_to_retrieve: ["title"])

search!(client_or_uid, uid_or_query, query_or_opts \\ [], opts \\ [])

Performs a search query, raising on error.

similar(client_or_uid, uid_or_body, body_or_opts \\ [], opts \\ [])

Searches for documents similar to a specific document.

Examples

Meili.Search.similar("movies", %{id: "1", embedder: "default"})
Meili.Search.similar(client, "movies", %{id: "1", embedder: "default"}, limit: 5)

similar!(client_or_uid, uid_or_body, body_or_opts \\ [], opts \\ [])

Searches for similar documents, raising on error.