Changelog
View Source0.14.0
- Breaking change: The
aggregationsandsuggestsfields inSnap.SearchResponseare no longer structs and now return the underlying parsed JSON.Snap.AggregationandSnap.Suggestshave been removed, including any child modules
0.13.0
- Breaking change: changed how index namespaces are propagated between
parent/child processes during testing. Specifically:
Snap.Cluster.Namespace.get_process_namespace/1now checks the namespace of ancestor processes. This makes it possible to use an isolated index in e.g. LiveView testing, where it's difficult to get a handle on the process before Snap queries are executedSnap.Cluster.Namespace.set_process_namespace/3and associated get/clear functions which takes a specific PID have been removedSnap.Test.generate_namespace_for_pid/1has been replaced withSnap.Test.generate_namespace/0. The suggested snippet inSnap.Testfor use in theExUnitsetup block has been updated to reflect that. Updating this call is probably the only change most library users will need to perform.
0.12.2
- Added
Search.delete_by_queryfunction to perform delete operations against an index
0.12.1
- Support parsing the extra fields in suggest options that come back from a completion query
0.12.0
- Relax Finch dependency to 0.17, which is the lowest version that emit pool metrics
0.11.3
- Added new fields to telemetry measurements,
request_body_bytesandresponse_body_bytes, for logging the size of the request and response
0.11.2
- Added new
Snap.Indexesutility functions to get and set mappings, settings and more (thanks @warmwaffles) - Added Elixir 1.17 to CI matrix
0.11.1
- Added
sortfield toSnap.Hitstruct - Added
routingparam toSnap.Bulkactions - Added
get_mappingandupdate_mappingfunctions toSnap.Indexes - Added
statusattribute to telemetry metadata, representing the HTTP status code of the response, if any
0.11.0
- Breaking change: changed the field names in
Snap.Bulkactions to drop underscore prefix - Added support for pluggable JSON libraries. Continues to default to
Jason, but you may see encoding/decoding performance improvements from switching toJsonrs - Allowed
nilfor thetypeinSnap.Hitas ElasticSearch >= 8 does not return this
0.10.0
- Enabled gzip compression in default HTTP adapter using
Accept-Headingheader, which speeds up large response objects
0.9.0
- Added
Snap.Documentfor interacting with individual documents - Added
count/3toSnap.Searchfor performing counts with or without a query - Added support for index namespacing to isolate different Snap application, environments and even process from seeing each other's indexes - see
Snap.Cluster.NamespaceandSnap.Testfor details
0.8.1
- Upgrade
finch, which allows use ofcastore1.0 - Set minimum Elixir version to 1.12
0.8.0
- Add a high level interface for the Multi Search API
0.7.0
- Changed
inner_hitsto beSnap.Hitsstruct to make it consistent with thehitsat the top level - Added support for
suggest(thanks @maennchen) - Relaxed telemetry dependency to allow the use of 0.4 as well as 1.0 (thanks @dershodan)
0.6.0
- Added support for modular HTTP client adapters, allowing mock HTTP clients in a test environment (thanks @jotaviobiondo)
- Added extra fields to
Snap.Aggregation(thanks @megalithic)
0.5.2
- Return
Snap.HTTPErrorwhen ElasticSearch returns an error HTTP status without any accompanying JSON - Expose
inner_hitsfield onSnap.Hitstruct
0.5.1
- Accept
conn_optsconfig options to configure the underlying HTTP transport (thanks @danielxvu)
0.5.0
- Update
telemetrydependency to 1.0
0.4.5
- Allow extra options on
Snap.Bulk.perform/4which are passed into the underlying request - Added
matched_queriesandhighlightfields on theSnap.Hitstruct.
0.4.1
- Added the
hostandportto the Telemetry metadata.
0.4.0
- Drop the underscore from the response struct keys, as it's just annoying to work with.
0.3.0
- Added
Snap.Searchto wrap making searches and parsing the response into structs.
0.2.4
- Fixed behaviour of
max_errorswhen it's set to0.
0.2.3
- Added support for an optional
max_errorsparameter inSnap.Bulk.perform, which aborts the operation if the number of errors accumulated exceedes this count.
0.2.2
- Pass extra opts, such as
pipeline: "foo"inSnap.Bulk.performto the Bulk API endpoint.
0.2.1
- Added support in
Snap.Auth.Plainfor defining the username and password in the configured URL.
0.2.0
- Introduce
Snap.BulkErrorto wrap a list of errors produced fromSnap.Bulk.
0.1.1
- Documentation formatting fix.
0.1.0
- First release.