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.
Same as delete_synonym/2.
Delete a synonym set
Delete a synonym set
Delete a synonym set item
Retrieve a single synonym from a collection.
Same as get_synonym/2.
List all synonyms associated with a given collection.
Same as list_synonyms/1.
Retrieve a synonym set
Retrieve a synonym set item
List items in a synonym set
List all synonym sets
Create or update a synonym
Same as upsert_synonym/3.
Create or update a synonym set
Create or update a synonym set item
Functions
@spec delete_synonym(String.t() | module(), String.t()) :: {:ok, OpenApiTypesense.SearchSynonymDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Delete a single synonym from a collection.
@spec delete_synonym(String.t() | module(), String.t(), keyword()) :: {:ok, OpenApiTypesense.SearchSynonymDeleteResponse.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
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)
@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
@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
@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
@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
@spec get_synonym(String.t() | module(), String.t()) :: {:ok, OpenApiTypesense.SearchSynonym.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Retrieve a single synonym from a collection.
@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)
@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.
@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)
@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
@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
@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
@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
@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
@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
@spec retrieve_synonym_sets() :: {:ok, [OpenApiTypesense.SynonymSetSchema.t()]} | :error
List all synonym sets
Retrieve all synonym sets
@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
@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)
@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)
@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
@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
@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
@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