ExTypesense.Preset (ExTypesense v1.1.1)
View SourceSearch presets allow you to store a bunch of search parameters together, and reference them by a name. You can then use this preset name when you make a search request, instead of passing all the search parameters individually in each search request.
You can then change the preset configuration on the Typesense side, to change your search parameters, without having to re-deploy your application.
More here: https://typesense.org/docs/latest/api/search.html#presets
Summary
Functions
Permanently deletes a preset, given it's name.
Same as delete_preset/2 but passes another connection.
Retrieves all presets.
Same as get_preset/2 but passes another connection.
Retrieves all presets.
Same as list_presets/0
Same as list_presets/1 but passes another connection.
Create or update an existing preset.
Same as upsert_preset/3 but passes another connection.
Functions
@spec delete_preset(String.t()) :: {:ok, OpenApiTypesense.PresetDeleteSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Permanently deletes a preset, given it's name.
@spec delete_preset( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | keyword() ) :: {:ok, OpenApiTypesense.PresetDeleteSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as delete_preset/1
ExTypesense.delete_preset("listing_view", [])
ExTypesense.delete_preset(%{api_key: xyz, host: ...}, "listing_view")
ExTypesense.delete_preset(OpenApiTypesense.Connection.new(), "listing_view")
@spec delete_preset(map() | OpenApiTypesense.Connection.t(), String.t(), keyword()) :: {:ok, OpenApiTypesense.PresetDeleteSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as delete_preset/2 but passes another connection.
ExTypesense.delete_preset(%{api_key: xyz, host: ...}, "listing_view", [])
ExTypesense.delete_preset(OpenApiTypesense.Connection.new(), "listing_view", [])
@spec get_preset(String.t()) :: {:ok, OpenApiTypesense.PresetSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Retrieves all presets.
@spec get_preset( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | keyword() ) :: {:ok, OpenApiTypesense.PresetSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as get_preset/1
ExTypesense.get_preset("listing_view", [])
ExTypesense.get_preset(%{api_key: xyz, host: ...}, "listing_view")
ExTypesense.get_preset(OpenApiTypesense.Connection.new(), "listing_view")
@spec get_preset(map() | OpenApiTypesense.Connection.t(), String.t(), keyword()) :: {:ok, OpenApiTypesense.PresetSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as get_preset/2 but passes another connection.
ExTypesense.get_preset(%{api_key: xyz, host: ...}, "listing_view", [])
ExTypesense.get_preset(OpenApiTypesense.Connection.new(), "listing_view", [])
@spec list_presets() :: {:ok, OpenApiTypesense.PresetsRetrieveSchema.t()} | :error
Retrieves all presets.
@spec list_presets(map() | OpenApiTypesense.Connection.t() | keyword()) :: {:ok, OpenApiTypesense.PresetsRetrieveSchema.t()} | :error
Same as list_presets/0
ExTypesense.list_presets([])
ExTypesense.list_presets(%{api_key: xyz, host: ...})
ExTypesense.list_presets(OpenApiTypesense.Connection.new())
@spec list_presets( map() | OpenApiTypesense.Connection.t(), keyword() ) :: {:ok, OpenApiTypesense.PresetsRetrieveSchema.t()} | :error
Same as list_presets/1 but passes another connection.
ExTypesense.list_presets(%{api_key: xyz, host: ...}, [])
ExTypesense.list_presets(OpenApiTypesense.Connection.new(), [])
@spec upsert_preset(String.t(), map()) :: {:ok, OpenApiTypesense.PresetSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Create or update an existing preset.
Examples
iex> body = %{
...> "value" => %{
...> "searches" => [
...> %{"collection" => "restaurants", "q" => "*", "sort_by" => "popularity"}
...> ]
...> }
...> }
iex> ExTypesense.upsert_preset("listing_view", body)
@spec upsert_preset( map() | OpenApiTypesense.Connection.t() | String.t(), String.t() | map(), map() | keyword() ) :: {:ok, OpenApiTypesense.PresetSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as upsert_preset/2
ExTypesense.upsert_preset("listing_view", body, [])
ExTypesense.upsert_preset(%{api_key: xyz, host: ...}, "listing_view", body)
ExTypesense.upsert_preset(OpenApiTypesense.Connection.new(), "listing_view", body)
@spec upsert_preset( map() | OpenApiTypesense.Connection.t(), String.t(), map(), keyword() ) :: {:ok, OpenApiTypesense.PresetSchema.t()} | {:error, OpenApiTypesense.ApiResponse.t()}
Same as upsert_preset/3 but passes another connection.
ExTypesense.upsert_preset(%{api_key: xyz, host: ...}, "listing_view", body, [])
ExTypesense.upsert_preset(OpenApiTypesense.Connection.new(), "listing_view", body, [])