defmodule ElasticsearchApi do @moduledoc """ Provides some shortcuts to the most common functions. """ ## Typespecs @type opts :: ElasticsearchApi.Client.opts() @type response :: ElasticsearchApi.Client.response() @type query :: map() ## Public functions @spec search(query(), opts()) :: {:ok, response()} defdelegate search(query, opts \\ []), to: ElasticsearchApi.Search.Core @spec extract_body!({:ok, response()}) :: any() defdelegate extract_body!(result), to: ElasticsearchApi.Utils @spec extract_hits!({:ok, response()} | {:error, any()}) :: [map()] defdelegate extract_hits!(result), to: ElasticsearchApi.Utils end