View Source Meilisearch.Index (meilisearch_ex v1.0.0)

Manipulate Meilisearch indexes. Index API

Link to this section Summary

Functions

Create a new Index in your Meilsiearch instance. meili doc

Delete an existing Index in your Meilsiearch instance. meili doc

Get an Index of your Meilsiearch instance. meili doc

List indexes of your Meilsiearch instance. meili doc

Create a new Index in your Meilsiearch instance. meili doc

Update an existing Index in your Meilsiearch instance. meili doc

Link to this section Types

@type t() :: %Meilisearch.Index{
  __meta__: Ecto.Schema.Metadata.t(),
  createdAt: DateTime.t(),
  primaryKey: String.t(),
  uid: String.t(),
  updatedAt: DateTime.t()
}

Link to this section Functions

@spec create(Tesla.Client.t(), %{uid: String.t(), primaryKey: String.t() | nil}) ::
  {:ok, Meilisearch.SummarizedTask.t()} | {:error, Meilisearch.Client.error()}

Create a new Index in your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Index.create(client, %{uid: "movies", primaryKey: "id"})
{:ok, %{
  taskUid: 0,
  indexUid: "movies",
  status: :enqueued,
  type: :indexCreation,
  enqueuedAt: ~U[2021-08-12 10:00:00]
}}
Link to this function

delete(client, index_uid)

View Source
@spec delete(Tesla.Client.t(), String.t()) ::
  {:ok, Meilisearch.SummarizedTask.t()} | {:error, Meilisearch.Client.error()}

Delete an existing Index in your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Index.delete(client, "movies")
{:ok, %{
  taskUid: 0,
  indexUid: "movies",
  status: :enqueued,
  type: :indexDeletion,
  enqueuedAt: ~U[2021-08-12 10:00:00]
}}
@spec get(Tesla.Client.t(), String.t()) ::
  {:ok, t()} | {:error, Meilisearch.Client.error()}

Get an Index of your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Index.get(client, "movies")
{:ok, %{
  uid: "movies",
  primaryKey: "id",
  createdAt: ~U[2021-08-12 10:00:00],
  updatedAt: ~U[2021-08-12 10:00:00]
}}
Link to this function

list(client, opts \\ [])

View Source
@spec list(Tesla.Client.t(), offset: integer(), limit: integer()) ::
  {:ok, Meilisearch.Pagination.t(t())} | {:error, Meilisearch.Client.error()}

List indexes of your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Index.list(client, limit: 20, offset: 0)
{:ok, %{offset: 0, limit: 20, total: 1, results: [%{
  uid: "movies",
  primaryKey: "id",
  createdAt: ~U[2021-08-12 10:00:00],
  updatedAt: ~U[2021-08-12 10:00:00]
}]}}
@spec swap(Tesla.Client.t(), [%{indexes: [String.t()]}]) ::
  {:ok, Meilisearch.SummarizedTask.t()} | {:error, Meilisearch.Client.error()}

Create a new Index in your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Index.swap(client, [%{indexes: ["movies", "actors"]}])
{:ok, %{
  taskUid: 0,
  indexUid: null,
  status: :enqueued,
  type: :indexSwap,
  enqueuedAt: ~U[2021-08-12 10:00:00]
}}
Link to this function

update(client, index_uid, params)

View Source
@spec update(Tesla.Client.t(), String.t(), %{primaryKey: String.t() | nil}) ::
  {:ok, Meilisearch.SummarizedTask.t()} | {:error, Meilisearch.Client.error()}

Update an existing Index in your Meilsiearch instance. meili doc

examples

Examples

iex> client = Meilisearch.Client.new(endpoint: "http://localhost:7700", key: "master_key_test")
iex> Meilisearch.Index.update(client, "movies", %{primaryKey: "id"})
{:ok, %{
  taskUid: 0,
  indexUid: "movies",
  status: :enqueued,
  type: :indexUpdate,
  enqueuedAt: ~U[2021-08-12 10:00:00]
}}