View Source Typesense.Documents (ecto_typesense v0.9.0)

Methods for interaction with Typesense Documents.

Link to this section Summary

Functions

Index a document.

Delete a document by id, or several documents through a query.

Export documents from a collection.

Import documents into a collection.

Retrieve a document.

Search for documents.

Link to this section Functions

Link to this function

create(collection, document)

View Source
@spec create(binary(), binary() | map()) :: {:ok, map()} | {:error, any()}

Index a document.

examples

Examples

iex> document = %{
  company_name: "Stark Industries",
  num_employees: 5215,
  country: "USA"
}
iex> Typesense.Documents.create(collection, document)
{:ok, document}
@spec delete(binary(), binary() | integer() | map()) :: {:ok, map()} | {:error, any()}

Delete a document by id, or several documents through a query.

examples

Examples

iex> Typesense.Documents.delete(collection, id)
{:ok, _document}

Export documents from a collection.

examples

Examples

iex> Typesense.Documents.export(collection)
[%{}, ...]
Link to this function

import(collection, documents, action \\ :create)

View Source

Import documents into a collection.

examples

Examples

iex> documents = [%{
  id: "124",
  company_name: "Stark Industries",
  num_employees: 5215,
  country: "USA"
}]
iex> Typesense.Documents.import(collection, documents, :create)
{:ok, documents}
Link to this function

retrieve(collection, id)

View Source

Retrieve a document.

examples

Examples

iex> Typesense.Documents.retrieve(collection, id)
{:ok, document}
Link to this function

search(collection, query)

View Source

Search for documents.

examples

Examples

iex> search_params = %{
  q: "stark",
  query_by: "company_name",
  filter_by: "num_employees:>100",
  sort_by: "num_employees:desc"
}
iex> Typesense.Documents.search(collection, search_params)
iex> {:ok, documents}
Link to this function

update(collection, id, document)

View Source
@spec update(binary(), binary(), binary() | map()) :: {:ok, map()} | {:error, any()}

Update a document.

examples

Examples

iex> Typesense.Documents.update(collection, id, document)
{:ok, document}