Meili (Meili v0.2.0)

Copy Markdown View Source

An idiomatic, high-performance Meilisearch client for Elixir.

Summary

Functions

Builds a custom Meili.Client instance with the given options.

Builds a Meili.Client from the global application environment.

Functions

add_documents(client_or_uid, uid_or_documents, documents_or_opts \\ [], opts \\ [])

@spec add_documents(
  Meili.Client.t() | String.t(),
  String.t() | [map()],
  [map()] | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.add_or_replace/4.

add_documents!(client_or_uid, uid_or_documents, documents_or_opts \\ [], opts \\ [])

@spec add_documents!(
  Meili.Client.t() | String.t(),
  String.t() | [map()],
  [map()] | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Document.add_or_replace!/4.

cancel_tasks(client_or_opts \\ nil, opts \\ [])

@spec cancel_tasks(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Task.cancel/2.

cancel_tasks!(client_or_opts \\ nil, opts \\ [])

@spec cancel_tasks!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  map() | no_return()

See Meili.Task.cancel!/2.

chat_completions(client_or_workspace, workspace_or_body \\ nil, body_or_opts \\ [], opts \\ [])

@spec chat_completions(
  Meili.Client.t() | String.t(),
  String.t() | map() | nil,
  map() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Chat.completions/4.

chat_completions!(client_or_workspace, workspace_or_body \\ nil, body_or_opts \\ [], opts \\ [])

@spec chat_completions!(
  Meili.Client.t() | String.t(),
  String.t() | map() | nil,
  map() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Chat.completions!/4.

client(opts \\ [])

@spec client(Keyword.t() | map()) :: Meili.Client.t()

Builds a custom Meili.Client instance with the given options.

Options

  • :url or :endpoint - The Meilisearch base URL (default: http://localhost:7700).
  • :key or :api_key - The API key or master key for authentication.
  • :req_options - Custom configuration options passed directly to Req.new/1.

Examples

client = Meili.client(url: "http://localhost:7700", key: "secret-key")

compact_index(client_or_uid, uid_or_nil \\ nil)

@spec compact_index(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.compact/2.

compact_index!(client_or_uid, uid_or_nil \\ nil)

@spec compact_index!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Index.compact!/2.

create_dump(client \\ nil)

@spec create_dump(Meili.Client.t() | nil) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Dump.create/1.

create_dump!(client \\ nil)

@spec create_dump!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Dump.create!/1.

create_export(client_or_params, params_or_opts \\ [], opts \\ [])

@spec create_export(
  Meili.Client.t() | map() | Keyword.t(),
  map() | Keyword.t(),
  Keyword.t()
) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Export.create/3.

create_export!(client_or_params, params_or_opts \\ [], opts \\ [])

@spec create_export!(
  Meili.Client.t() | map() | Keyword.t(),
  map() | Keyword.t(),
  Keyword.t()
) ::
  map() | no_return()

See Meili.Export.create!/3.

create_index(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec create_index(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t() | map(),
  Keyword.t() | map()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.create/3.

create_index!(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec create_index!(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t() | map(),
  Keyword.t() | map()
) :: map() | no_return()

See Meili.Index.create!/3.

create_key(client_or_params, params_or_nil \\ nil)

@spec create_key(Meili.Client.t() | map() | Keyword.t(), map() | Keyword.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Key.create/2.

create_key!(client_or_params, params_or_nil \\ nil)

@spec create_key!(Meili.Client.t() | map() | Keyword.t(), map() | Keyword.t() | nil) ::
  map() | no_return()

See Meili.Key.create!/2.

create_snapshot(client \\ nil)

@spec create_snapshot(Meili.Client.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Snapshot.create/1.

create_snapshot!(client \\ nil)

@spec create_snapshot!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Snapshot.create!/1.

create_webhook(client_or_params, params_or_nil \\ nil)

@spec create_webhook(Meili.Client.t() | map() | list(), map() | list() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Webhook.create/2.

create_webhook!(client_or_params, params_or_nil \\ nil)

@spec create_webhook!(Meili.Client.t() | map() | list(), map() | list() | nil) ::
  term() | no_return()

See Meili.Webhook.create!/2.

default_client()

@spec default_client() :: Meili.Client.t()

Builds a Meili.Client from the global application environment.

Examples

client = Meili.default_client()

delete_all_documents(client_or_uid, uid_or_nil \\ nil)

@spec delete_all_documents(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.delete_all/2.

delete_all_documents!(client_or_uid, uid_or_nil \\ nil)

@spec delete_all_documents!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Document.delete_all!/2.

delete_document(client_or_uid, uid_or_doc_id, doc_id_or_nil \\ nil)

@spec delete_document(
  Meili.Client.t() | String.t(),
  String.t() | integer(),
  String.t() | integer() | nil
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.delete/3.

delete_document!(client_or_uid, uid_or_doc_id, doc_id_or_nil \\ nil)

@spec delete_document!(
  Meili.Client.t() | String.t(),
  String.t() | integer(),
  String.t() | integer() | nil
) :: map() | no_return()

See Meili.Document.delete!/3.

delete_documents_batch(client_or_uid, uid_or_doc_ids, doc_ids_or_nil \\ nil)

@spec delete_documents_batch(
  Meili.Client.t() | String.t(),
  String.t() | list(),
  list() | nil
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.delete_batch/3.

delete_documents_batch!(client_or_uid, uid_or_doc_ids, doc_ids_or_nil \\ nil)

@spec delete_documents_batch!(
  Meili.Client.t() | String.t(),
  String.t() | list(),
  list() | nil
) :: map() | no_return()

See Meili.Document.delete_batch!/3.

delete_dynamic_search_rule(client_or_uid, uid_or_nil \\ nil)

@spec delete_dynamic_search_rule(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.DynamicSearchRules.delete/2.

delete_dynamic_search_rule!(client_or_uid, uid_or_nil \\ nil)

@spec delete_dynamic_search_rule!(Meili.Client.t() | String.t(), String.t() | nil) ::
  term() | no_return()

See Meili.DynamicSearchRules.delete!/2.

delete_index(client_or_uid, uid_or_nil \\ nil)

@spec delete_index(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.delete/2.

delete_index!(client_or_uid, uid_or_nil \\ nil)

@spec delete_index!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Index.delete!/2.

delete_key(client_or_key, key_or_nil \\ nil)

@spec delete_key(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Key.delete/2.

delete_key!(client_or_key, key_or_nil \\ nil)

@spec delete_key!(Meili.Client.t() | String.t(), String.t() | nil) ::
  term() | no_return()

See Meili.Key.delete!/2.

delete_tasks(client_or_opts \\ nil, opts \\ [])

@spec delete_tasks(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Task.delete/2.

delete_tasks!(client_or_opts \\ nil, opts \\ [])

@spec delete_tasks!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  map() | no_return()

See Meili.Task.delete!/2.

delete_webhook(client_or_uuid, uuid_or_nil \\ nil)

@spec delete_webhook(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Webhook.delete/2.

delete_webhook!(client_or_uuid, uuid_or_nil \\ nil)

@spec delete_webhook!(Meili.Client.t() | String.t(), String.t() | nil) ::
  term() | no_return()

See Meili.Webhook.delete!/2.

edit_documents(client_or_uid, uid_or_queries, queries_or_opts \\ [], opts \\ [])

@spec edit_documents(
  Meili.Client.t() | String.t(),
  String.t() | map(),
  map() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.edit/4.

edit_documents!(client_or_uid, uid_or_queries, queries_or_opts \\ [], opts \\ [])

@spec edit_documents!(
  Meili.Client.t() | String.t(),
  String.t() | map(),
  map() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Document.edit!/4.

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

@spec facet_search(
  Meili.Client.t() | String.t(),
  String.t(),
  String.t() | nil,
  String.t() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Search.facet_search/5.

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

@spec facet_search!(
  Meili.Client.t() | String.t(),
  String.t(),
  String.t() | nil,
  String.t() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Search.facet_search!/5.

generate_tenant_token(api_key_uid, search_rules, secret \\ nil, opts \\ [])

@spec generate_tenant_token(
  String.t() | nil,
  map() | nil,
  String.t() | nil,
  Keyword.t()
) ::
  {:ok, String.t()}
  | {:error, :missing_secret | :invalid_uid | :missing_search_rules}

See Meili.Token.generate/4.

generate_tenant_token!(api_key_uid, search_rules, secret \\ nil, opts \\ [])

@spec generate_tenant_token!(
  String.t() | nil,
  map() | nil,
  String.t() | nil,
  Keyword.t()
) ::
  String.t() | no_return()

See Meili.Token.generate!/4.

get_batch(client_or_uid, uid_or_nil \\ nil)

@spec get_batch(
  Meili.Client.t() | integer() | String.t(),
  integer() | String.t() | nil
) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Batch.get/2.

get_batch!(client_or_uid, uid_or_nil \\ nil)

@spec get_batch!(
  Meili.Client.t() | integer() | String.t(),
  integer() | String.t() | nil
) ::
  map() | no_return()

See Meili.Batch.get!/2.

get_chat_settings(client_or_workspace, workspace_or_nil \\ nil)

@spec get_chat_settings(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Chat.get_settings/2.

get_chat_settings!(client_or_workspace, workspace_or_nil \\ nil)

@spec get_chat_settings!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Chat.get_settings!/2.

get_document(client_or_uid, uid_or_doc_id, doc_id_or_opts \\ [], opts \\ [])

@spec get_document(
  Meili.Client.t() | String.t(),
  String.t() | integer(),
  String.t() | integer() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.get/4.

get_document!(client_or_uid, uid_or_doc_id, doc_id_or_opts \\ [], opts \\ [])

@spec get_document!(
  Meili.Client.t() | String.t(),
  String.t() | integer(),
  String.t() | integer() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Document.get!/4.

get_dynamic_search_rule(client_or_uid, uid_or_nil \\ nil)

@spec get_dynamic_search_rule(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.DynamicSearchRules.get/2.

get_dynamic_search_rule!(client_or_uid, uid_or_nil \\ nil)

@spec get_dynamic_search_rule!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.DynamicSearchRules.get!/2.

get_experimental_features(client \\ nil)

@spec get_experimental_features(Meili.Client.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Features.get/1.

get_experimental_features!(client \\ nil)

@spec get_experimental_features!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Features.get!/1.

get_index(client_or_uid, uid_or_nil \\ nil)

@spec get_index(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.get/2.

get_index!(client_or_uid, uid_or_nil \\ nil)

@spec get_index!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Index.get!/2.

get_key(client_or_key, key_or_nil \\ nil)

@spec get_key(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Key.get/2.

get_key!(client_or_key, key_or_nil \\ nil)

@spec get_key!(Meili.Client.t() | String.t(), String.t() | nil) :: map() | no_return()

See Meili.Key.get!/2.

get_network(client \\ nil)

@spec get_network(Meili.Client.t() | nil) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Network.get/1.

get_network!(client \\ nil)

@spec get_network!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Network.get!/1.

get_settings(client_or_uid, uid_or_nil \\ nil)

@spec get_settings(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Settings.get/2.

get_settings!(client_or_uid, uid_or_nil \\ nil)

@spec get_settings!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Settings.get!/2.

get_task(client_or_uid, uid_or_nil \\ nil)

@spec get_task(
  Meili.Client.t() | integer() | String.t(),
  integer() | String.t() | nil
) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Task.get/2.

get_task!(client_or_uid, uid_or_nil \\ nil)

@spec get_task!(
  Meili.Client.t() | integer() | String.t(),
  integer() | String.t() | nil
) ::
  map() | no_return()

See Meili.Task.get!/2.

get_webhook(client_or_uuid, uuid_or_nil \\ nil)

@spec get_webhook(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Webhook.get/2.

get_webhook!(client_or_uuid, uuid_or_nil \\ nil)

@spec get_webhook!(Meili.Client.t() | String.t(), String.t() | nil) ::
  term() | no_return()

See Meili.Webhook.get!/2.

health(client \\ nil)

@spec health(Meili.Client.t() | nil) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Health.health/1.

health!(client \\ nil)

@spec health!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Health.health!/1.

index_stats(client_or_uid, uid_or_nil \\ nil)

@spec index_stats(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.stats/2.

index_stats!(client_or_uid, uid_or_nil \\ nil)

@spec index_stats!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Index.stats!/2.

list_batches(client_or_opts \\ nil, opts \\ [])

@spec list_batches(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Batch.list/2.

list_batches!(client_or_opts \\ nil, opts \\ [])

@spec list_batches!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  map() | no_return()

See Meili.Batch.list!/2.

list_documents(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec list_documents(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.list/3.

list_documents!(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec list_documents!(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Document.list!/3.

list_dynamic_search_rules(client_or_opts \\ nil, opts \\ [])

@spec list_dynamic_search_rules(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.DynamicSearchRules.list/2.

list_dynamic_search_rules!(client_or_opts \\ nil, opts \\ [])

@spec list_dynamic_search_rules!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  map() | no_return()

See Meili.DynamicSearchRules.list!/2.

list_indexes(client_or_opts \\ nil, opts \\ [])

@spec list_indexes(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, list() | map()} | {:error, Meili.Error.t()}

See Meili.Index.list/2.

list_indexes!(client_or_opts \\ nil, opts \\ [])

@spec list_indexes!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  list() | map() | no_return()

See Meili.Index.list!/2.

list_keys(client_or_opts \\ nil, opts \\ [])

@spec list_keys(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Key.list/2.

list_keys!(client_or_opts \\ nil, opts \\ [])

@spec list_keys!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  map() | no_return()

See Meili.Key.list!/2.

list_tasks(client_or_opts \\ nil, opts \\ [])

@spec list_tasks(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Task.list/2.

list_tasks!(client_or_opts \\ nil, opts \\ [])

@spec list_tasks!(Meili.Client.t() | Keyword.t() | nil, Keyword.t()) ::
  map() | no_return()

See Meili.Task.list!/2.

list_webhooks(client \\ nil)

@spec list_webhooks(Meili.Client.t() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Webhook.list/1.

list_webhooks!(client \\ nil)

@spec list_webhooks!(Meili.Client.t() | nil) :: term() | no_return()

See Meili.Webhook.list!/1.

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

@spec multi_search(Meili.Client.t() | [map()], [map()] | Keyword.t(), Keyword.t()) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Search.multi_search/3.

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

@spec multi_search!(Meili.Client.t() | [map()], [map()] | Keyword.t(), Keyword.t()) ::
  map() | no_return()

See Meili.Search.multi_search!/3.

reset_chat_settings(client_or_workspace, workspace_or_nil \\ nil)

@spec reset_chat_settings(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Chat.reset_settings/2.

reset_chat_settings!(client_or_workspace, workspace_or_nil \\ nil)

@spec reset_chat_settings!(Meili.Client.t() | String.t(), String.t() | nil) ::
  term() | no_return()

See Meili.Chat.reset_settings!/2.

reset_settings(client_or_uid, uid_or_nil \\ nil)

@spec reset_settings(Meili.Client.t() | String.t(), String.t() | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Settings.reset/2.

reset_settings!(client_or_uid, uid_or_nil \\ nil)

@spec reset_settings!(Meili.Client.t() | String.t(), String.t() | nil) ::
  map() | no_return()

See Meili.Settings.reset!/2.

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

@spec search(
  Meili.Client.t() | String.t(),
  String.t() | map(),
  String.t() | Keyword.t() | map(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Search.search/4.

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

@spec search!(
  Meili.Client.t() | String.t(),
  String.t() | map(),
  String.t() | Keyword.t() | map(),
  Keyword.t()
) :: map() | no_return()

See Meili.Search.search!/4.

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

@spec search_similar(
  Meili.Client.t() | String.t(),
  String.t() | map(),
  map() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Search.similar/4.

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

@spec search_similar!(
  Meili.Client.t() | String.t(),
  String.t() | map(),
  map() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Search.similar!/4.

stats(client \\ nil)

@spec stats(Meili.Client.t() | nil) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Health.stats/1.

stats!(client \\ nil)

@spec stats!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Health.stats!/1.

stream_documents(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec stream_documents(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t(),
  Keyword.t()
) :: Enumerable.t()

See Meili.Document.stream/3.

stream_indexes(client_or_opts \\ [], opts \\ [])

@spec stream_indexes(Meili.Client.t() | Keyword.t(), Keyword.t()) :: Enumerable.t()

See Meili.Index.stream/2.

swap_indexes(client_or_indexes, indexes_or_nil \\ nil)

@spec swap_indexes(Meili.Client.t() | [map()], [map()] | nil) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.swap/2.

swap_indexes!(client_or_indexes, indexes_or_nil \\ nil)

@spec swap_indexes!(Meili.Client.t() | [map()], [map()] | nil) :: map() | no_return()

See Meili.Index.swap!/2.

update_chat_settings(client_or_workspace, workspace_or_settings \\ nil, settings_or_nil \\ nil)

@spec update_chat_settings(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Chat.update_settings/3.

update_chat_settings!(client_or_workspace, workspace_or_settings \\ nil, settings_or_nil \\ nil)

@spec update_chat_settings!(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: map() | no_return()

See Meili.Chat.update_settings!/3.

update_documents(client_or_uid, uid_or_documents, documents_or_opts \\ [], opts \\ [])

@spec update_documents(
  Meili.Client.t() | String.t(),
  String.t() | [map()],
  [map()] | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Document.add_or_update/4.

update_documents!(client_or_uid, uid_or_documents, documents_or_opts \\ [], opts \\ [])

@spec update_documents!(
  Meili.Client.t() | String.t(),
  String.t() | [map()],
  [map()] | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Document.add_or_update!/4.

update_dynamic_search_rule(client_or_uid, uid_or_params \\ nil, params_or_nil \\ nil)

@spec update_dynamic_search_rule(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.DynamicSearchRules.update/3.

update_dynamic_search_rule!(client_or_uid, uid_or_params \\ nil, params_or_nil \\ nil)

@spec update_dynamic_search_rule!(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: map() | no_return()

See Meili.DynamicSearchRules.update!/3.

update_experimental_features(client_or_features, features_or_nil \\ nil)

@spec update_experimental_features(
  Meili.Client.t() | map() | Keyword.t(),
  map() | Keyword.t() | nil
) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Features.update/2.

update_experimental_features!(client_or_features, features_or_nil \\ nil)

@spec update_experimental_features!(
  Meili.Client.t() | map() | Keyword.t(),
  map() | Keyword.t() | nil
) :: map() | no_return()

See Meili.Features.update!/2.

update_index(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec update_index(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t() | map(),
  Keyword.t() | map()
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Index.update/3.

update_index!(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec update_index!(
  Meili.Client.t() | String.t(),
  String.t() | Keyword.t() | map(),
  Keyword.t() | map()
) :: map() | no_return()

See Meili.Index.update!/3.

update_key(client_or_key, key_or_params \\ nil, params_or_nil \\ nil)

@spec update_key(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Key.update/3.

update_key!(client_or_key, key_or_params \\ nil, params_or_nil \\ nil)

@spec update_key!(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: map() | no_return()

See Meili.Key.update!/3.

update_network(client_or_params, params_or_nil \\ nil)

@spec update_network(
  Meili.Client.t() | map() | Keyword.t(),
  map() | Keyword.t() | nil
) ::
  {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Network.update/2.

update_network!(client_or_params, params_or_nil \\ nil)

@spec update_network!(
  Meili.Client.t() | map() | Keyword.t(),
  map() | Keyword.t() | nil
) ::
  map() | no_return()

See Meili.Network.update!/2.

update_settings(client_or_uid, uid_or_settings \\ [], settings_or_nil \\ [])

@spec update_settings(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Settings.update/3.

update_settings!(client_or_uid, uid_or_settings \\ [], settings_or_nil \\ [])

@spec update_settings!(
  Meili.Client.t() | String.t(),
  String.t() | map() | Keyword.t() | nil,
  map() | Keyword.t() | nil
) :: map() | no_return()

See Meili.Settings.update!/3.

update_webhook(client_or_uuid, uuid_or_params \\ nil, params_or_nil \\ nil)

@spec update_webhook(
  Meili.Client.t() | String.t(),
  String.t() | map() | list() | nil,
  map() | list() | nil
) :: {:ok, term()} | {:error, Meili.Error.t()}

See Meili.Webhook.update/3.

update_webhook!(client_or_uuid, uuid_or_params \\ nil, params_or_nil \\ nil)

@spec update_webhook!(
  Meili.Client.t() | String.t(),
  String.t() | map() | list() | nil,
  map() | list() | nil
) :: term() | no_return()

See Meili.Webhook.update!/3.

version(client \\ nil)

@spec version(Meili.Client.t() | nil) :: {:ok, map()} | {:error, Meili.Error.t()}

See Meili.Health.version/1.

version!(client \\ nil)

@spec version!(Meili.Client.t() | nil) :: map() | no_return()

See Meili.Health.version!/1.

wait_for_task(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec wait_for_task(
  Meili.Client.t() | integer() | String.t(),
  integer() | String.t() | Keyword.t(),
  Keyword.t()
) :: {:ok, map()} | {:error, :timeout | Meili.Error.t()}

See Meili.Task.wait_for_task/3.

wait_for_task!(client_or_uid, uid_or_opts \\ [], opts \\ [])

@spec wait_for_task!(
  Meili.Client.t() | integer() | String.t(),
  integer() | String.t() | Keyword.t(),
  Keyword.t()
) :: map() | no_return()

See Meili.Task.wait_for_task!/3.

wait_for_tasks(client_or_opts \\ nil, opts \\ [])

@spec wait_for_tasks(
  Meili.Client.t() | Keyword.t() | nil,
  Keyword.t()
) :: {:ok, :completed} | {:error, :timeout | Meili.Error.t()}

See Meili.Task.wait_for_tasks/2.

wait_for_tasks!(client_or_opts \\ nil, opts \\ [])

@spec wait_for_tasks!(
  Meili.Client.t() | Keyword.t() | nil,
  Keyword.t()
) :: :completed | no_return()

See Meili.Task.wait_for_tasks!/2.