ExTypesense.Synonym (ExTypesense v2.3.0)

View Source

The synonyms feature allows you to define search terms that should be considered equivalent. For eg: when you define a synonym for sneaker as shoe, searching for sneaker will now return all records with the word shoe in them, in addition to records with the word sneaker.

More here: https://typesense.org/docs/latest/api/synonyms.html

Summary

Functions

Delete a single synonym from a collection.

Retrieve a single synonym from a collection.

List all synonyms associated with a given collection.

List items in a synonym set

List all synonym sets

Create or update a synonym

Create or update a synonym set

Create or update a synonym set item

Functions

delete_synonym(coll_name, syn_id)

(since 1.0.0)
This function is deprecated. Please use `delete_synonym_set` or `delete_synonym_set_item` when using Typesense v30.0+.

Delete a single synonym from a collection.

delete_synonym(module, syn_id, opts)

(since 1.0.0)
This function is deprecated. Please use `delete_synonym_set` or `delete_synonym_set_item` when using Typesense v30.0+.

Same as delete_synonym/2.

Options

  • conn: The custom connection map or struct you passed

Examples

iex> conn = %{api_key: xyz, host: ...}
iex> ExTypesense.delete_synonym("cars", "sedan-synonym", conn: conn)

iex> conn = OpenApiTypesense.Connection.new()
iex> ExTypesense.delete_synonym("cars", "sedan-synonym", conn: conn)

iex> opts = [conn: conn]
iex> ExTypesense.delete_synonym(MyApp.Vehicle.Car, "sedan-synonym", opts)

delete_synonym_set(synonym_set_name)

(since 2.2.0)
@spec delete_synonym_set(synonym_set_name :: String.t()) ::
  {:ok, OpenApiTypesense.SynonymSetDeleteSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Delete a synonym set

Delete a specific synonym set by its name

delete_synonym_set(synonym_set_name, opts)

(since 2.2.0)
@spec delete_synonym_set(synonym_set_name :: String.t(), opts :: keyword()) ::
  {:ok, OpenApiTypesense.SynonymSetDeleteSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Delete a synonym set

Delete a specific synonym set by its name

delete_synonym_set_item(synonym_set_name, item_id)

(since 2.2.0)
@spec delete_synonym_set_item(
  synonym_set_name :: String.t(),
  item_id :: String.t()
) ::
  {:ok, OpenApiTypesense.SynonymItemDeleteSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Delete a synonym set item

Delete a specific synonym item by its id

delete_synonym_set_item(synonym_set_name, item_id, opts)

(since 2.2.0)
@spec delete_synonym_set_item(
  synonym_set_name :: String.t(),
  item_id :: String.t(),
  opts :: keyword()
) ::
  {:ok, OpenApiTypesense.SynonymItemDeleteSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as delete_synonym_set/2.

Options

  • conn: The custom connection map or struct you passed

get_synonym(coll_name, syn_id)

(since 1.0.0)
This function is deprecated. Please use `retrieve_synonym_set` or `retrieve_synonym_set_item` when using Typesense v30.0+.
@spec get_synonym(String.t() | module(), String.t()) ::
  {:ok, OpenApiTypesense.SearchSynonym.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Retrieve a single synonym from a collection.

get_synonym(module, syn_id, opts)

(since 1.0.0)
This function is deprecated. Please use `retrieve_synonym_set` or `retrieve_synonym_set_item` when using Typesense v30.0+.
@spec get_synonym(String.t() | module(), String.t(), keyword()) ::
  {:ok, OpenApiTypesense.SearchSynonym.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as get_synonym/2.

Options

  • conn: The custom connection map or struct you passed

Examples

iex> conn = %{api_key: xyz, host: ...}
iex> ExTypesense.get_synonym("cars", "sedan-synonym", conn: conn)

iex> conn = OpenApiTypesense.Connection.new()
iex> ExTypesense.get_synonym("cars", "sedan-synonym", conn: conn)

iex> opts = [conn: conn]
iex> ExTypesense.get_synonym(MyApp.Vehicle.Car, "sedan-synonym", opts)

list_synonyms(collection_name)

(since 1.0.0)
This function is deprecated. Please use `retrieve_synonym_set_items` or `retrieve_synonym_sets` when using Typesense v30.0+.
@spec list_synonyms(String.t() | module()) ::
  {:ok, OpenApiTypesense.SearchSynonymsResponse.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

List all synonyms associated with a given collection.

Error

By default, ALL synonyms are returned, but you can use the offset and limit parameters to paginate on the listing.

Options

  • limit: Limit results in paginating on collection listing.
  • offset: Skip a certain number of results and start after that.

list_synonyms(module, opts)

(since 1.0.0)
This function is deprecated. Please use `retrieve_synonym_set_items` or `retrieve_synonym_sets` when using Typesense v30.0+.
@spec list_synonyms(
  String.t() | module(),
  keyword()
) ::
  {:ok, OpenApiTypesense.SearchSynonymsResponse.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as list_synonyms/1.

Options

  • conn: The custom connection map or struct you passed

Examples

iex> conn = %{api_key: xyz, host: ...}
iex> ExTypesense.list_synonyms("persons", conn: conn)

iex> conn = OpenApiTypesense.Connection.new()
iex> ExTypesense.list_synonyms("persons", conn: conn)

iex> opts = [conn: conn]
iex> ExTypesense.list_synonyms(MyApp.Accounts.Person, opts)

retrieve_synonym_set(synonym_set_name)

(since 2.2.0)
@spec retrieve_synonym_set(synonym_set_name :: String.t()) ::
  {:ok, OpenApiTypesense.SynonymSetSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Retrieve a synonym set

Retrieve a specific synonym set by its name

retrieve_synonym_set(synonym_set_name, opts)

(since 2.2.0)
@spec retrieve_synonym_set(synonym_set_name :: String.t(), opts :: keyword()) ::
  {:ok, OpenApiTypesense.SynonymSetSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as retrieve_synonym_set/1.

Options

  • conn: The custom connection map or struct you passed

retrieve_synonym_set_item(synonym_set_name, item_id)

(since 2.2.0)
@spec retrieve_synonym_set_item(
  synonym_set_name :: String.t(),
  item_id :: String.t()
) ::
  {:ok, OpenApiTypesense.SynonymItemSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Retrieve a synonym set item

Retrieve a specific synonym item by its id

retrieve_synonym_set_item(synonym_set_name, item_id, opts)

(since 2.2.0)
@spec retrieve_synonym_set_item(
  synonym_set_name :: String.t(),
  item_id :: String.t(),
  opts :: keyword()
) ::
  {:ok, OpenApiTypesense.SynonymItemSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as retrieve_synonym_set_item/2.

Options

  • conn: The custom connection map or struct you passed

retrieve_synonym_set_items(synonym_set_name)

(since 2.2.0)
@spec retrieve_synonym_set_items(synonym_set_name :: String.t()) ::
  {:ok, [OpenApiTypesense.SynonymItemSchema.t()]}
  | {:error, OpenApiTypesense.ApiResponse.t()}

List items in a synonym set

Retrieve all synonym items in a set

retrieve_synonym_set_items(synonym_set_name, opts)

(since 2.2.0)
@spec retrieve_synonym_set_items(synonym_set_name :: String.t(), opts :: keyword()) ::
  {:ok, [OpenApiTypesense.SynonymItemSchema.t()]}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as retrieve_synonym_set_items/1.

Options

  • conn: The custom connection map or struct you passed

retrieve_synonym_sets()

(since 2.2.0)
@spec retrieve_synonym_sets() ::
  {:ok, [OpenApiTypesense.SynonymSetSchema.t()]} | :error

List all synonym sets

Retrieve all synonym sets

retrieve_synonym_sets(opts)

(since 2.2.0)
@spec retrieve_synonym_sets(opts :: keyword()) ::
  {:ok, [OpenApiTypesense.SynonymSetSchema.t()]} | :error

Same as retrieve_synonym_sets/0.

Options

  • conn: The custom connection map or struct you passed

upsert_synonym(coll_name, syn_id, body)

(since 1.0.0)
This function is deprecated. Please use `upsert_synonym_set` or `upsert_synonym_set_item` when using Typesense v30.0+.
@spec upsert_synonym(String.t() | module(), String.t(), map()) ::
  {:ok, OpenApiTypesense.SearchSynonym.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Create or update a synonym

Examples

iex> body = %{
...>   "synonyms" => ["blazer", "coat", "jacket"],
...> }

iex> ExTypesense.upsert_synonym("products", "coat-synonyms", body)

upsert_synonym(module, syn_id, body, opts)

(since 1.0.0)
This function is deprecated. Please use `upsert_synonym_set` or `upsert_synonym_set_item` when using Typesense v30.0+.
@spec upsert_synonym(String.t() | module(), String.t(), map(), keyword()) ::
  {:ok, OpenApiTypesense.SearchSynonym.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as upsert_synonym/3.

Options

  • conn: The custom connection map or struct you passed

Examples

iex> conn = %{api_key: xyz, host: ...}
iex> ExTypesense.upsert_synonym("persons", "coat-synonyms", body, conn: conn)

iex> conn = OpenApiTypesense.Connection.new()
iex> ExTypesense.upsert_synonym("persons", "coat-synonyms", body, conn: conn)

iex> opts = [conn: conn]
iex> ExTypesense.upsert_synonym(MyApp.Accounts.Person, "coat-synonyms", body, opts)

upsert_synonym_set(synonym_set_name, body)

(since 2.2.0)
@spec upsert_synonym_set(
  synonym_set_name :: String.t(),
  body :: OpenApiTypesense.SynonymSetCreateSchema.t()
) ::
  {:ok, OpenApiTypesense.SynonymSetSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Create or update a synonym set

Create or update a synonym set with the given name

Request Body

Content Types: application/json

The synonym set to be created/updated

upsert_synonym_set(synonym_set_name, body, opts)

(since 2.2.0)
@spec upsert_synonym_set(
  synonym_set_name :: String.t(),
  body :: OpenApiTypesense.SynonymSetCreateSchema.t(),
  opts :: keyword()
) ::
  {:ok, OpenApiTypesense.SynonymSetSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as upsert_synonym_set/2.

Options

  • conn: The custom connection map or struct you passed

upsert_synonym_set_item(synonym_set_name, item_id, body)

(since 2.2.0)
@spec upsert_synonym_set_item(
  synonym_set_name :: String.t(),
  item_id :: String.t(),
  body :: OpenApiTypesense.SynonymItemUpsertSchema.t()
) ::
  {:ok, OpenApiTypesense.SynonymItemSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Create or update a synonym set item

Create or update a synonym set item with the given id

Request Body

Content Types: application/json

The synonym item to be created/updated

upsert_synonym_set_item(synonym_set_name, item_id, body, opts)

(since 2.2.0)
@spec upsert_synonym_set_item(
  synonym_set_name :: String.t(),
  item_id :: String.t(),
  body :: OpenApiTypesense.SynonymItemUpsertSchema.t(),
  opts :: keyword()
) ::
  {:ok, OpenApiTypesense.SynonymItemSchema.t()}
  | {:error, OpenApiTypesense.ApiResponse.t()}

Same as upsert_synonym_set_item/3.

Options

  • conn: The custom connection map or struct you passed