- require Elixir >= 1.15 and OTP 26
- Indexer operation returns a
%Algoliax.Reponse{}
(#51)
- Ensure clean up on reindex fail
- Replace deprecated
hmac
function with new :crypto API mac
function to support OTP-24
- Drop support for OTP 21. OTP 22+ is now required.
generate_secured_api_key/1
is removed in favor of generate_secured_api_key/2
- Drop support of Elixir 1.9. Elixir 1.10 or greater required
- add ability to customize objectID by overriding
get_object_id/1
- Make sure index is configured before any action.
- add ability to provide preloads for
reindex
and reindex_atomic
function
defmodule People do
use Algoliax.Indexer,
index_name: :people,
object_id: :reference,
schemas: [
{__MODULE__, [:animals]}
]
algolia: [
attribute_for_faceting: ["age"],
custom_ranking: ["desc(updated_at)"]
]
end
- add
generate_secured_api_key!/1
- add ability configure
:recv_timeout
for hackney.
- add ability to pass query_filters or Ecto.Query to
reindex/2
.
filters = %{where: [name: "John"]}
People.reindex(filters)
query = from(p in People, where: p.name == "john")
People.reindex(query)
- improved
generate_secured_api_key/1
- remove attributes macros in favor of
build_object/1
- remove
:prepare_object
options
- remove
:preloads
options
- add
prepare_object
to modify object before send to algolia
- add ability to provide
build_object/1
instead of attributes
- add
schemas
option to override caller
- Fix pagination when
cursor_field
different than :id
delete_object/1
and reindex
w/ force_delete: true
don't need to build entire object
- change dependencies to optional (ecto)
- Move algoliax to algoliax/indexer.
# old
use Algoliax,
...
# New
use Algoliax.Indexer,
...
- Move algolia specific settings into
:algolia
option
# old
use Algoliax.Indexer,
index_name: :test,
attributes_for_faceting: ["age"],
searchable_attributes: ["full_name"],
custom_ranking: ["desc(updated_at)"],
...
# New
use Algoliax.Indexer,
index_name: :test,
algolia: [
attributes_for_faceting: ["age"],
searchable_attributes: ["full_name"],
custom_ranking: ["desc(updated_at)"]
],
...
- add option to customize column used to find records in batch (
cursor_field
)
- add preloads to find records in batch.