Added a new index field to structs - if available - #38
Switched to passing authorization headers, rather than parameters, through to AWS (for AWS Signature v4). It seemed that AWS was passing these parameters through to Elastic Search, which was causing issues. See #23 for the original issue, and #24 for the fix.
Added basic_auth and timeout options to HTTP requests - #22
Fixed issue where posting with NDJSON body was broken - #20 / #31
- Bumped dependencies
- Switched from Poison to Jason for JSON encoding / decoding
Reject empty strings in Index.name/1 - #19
Added parameterised version of Index.create - #18
Support lots of different ElasticSearch versions.
Relax Poison dependency to allow ~> 2.2 or ~> 3.0.
- Increased default
Elastic.HTTPtimeout from 5 seconds to 30 seconds. This change was made because sufficiently largebulk_createqueries may cause Elastic Search to take longer than 5 seconds to process them. If you're still seeingbulk_createqueries timing out, consider splitting them into smaller queries.
- Added
Elastic.Scrollerfor Scroll API support.
- Added
Elastic.Index.open/1andElastic.Index.close/1
- Added missing documentation for
Elastic.Index
- Gracefully handle
connection_closederrors from Elastic Search. These can occur, for example, when you're trying to index a document with an invalid ID:Elastic.HTTP.post("/elastic_test/test/1 foo", body: %{test: true}). (The ID of "1 foo" is not valid) - Added
index_exists?toDocument.APIso that you can call this function on the module that usesDocument.API, rather than rolling your own version.
- Fixed a tiny issue with
Document.APIdocumentaiton.
- Added
Elastic.HTTP.headfor makingHEADrequests. - Added
Elastic.Index.exists?for checking if an index exists or not.
- Fix bug where
Elastic.Bulk.updatewould throw an error.
- Added
Elastic.Bulkfor bulk operations. Currently only supportscreateandupdate. See documentation for more information. Document.API.indexandDocument.API.updateare no longer interchangeable.updatewill now do a partial update to the document, rather than creating a new version of that document.
Added Elastic.HTTP.bulk.
Handle econnrefused and nxdomain errors gracefully.
Added Elastic.Document.API.search_query for better compatibility with scrivener_elastic.
Document.API.counthas now been moved toDocument.API.raw_count. Useraw_countif you want to maintain the behaviour from 2.0.- Added
Elastic.QueryforScrivenercompatibility. See thescrivener_elasticpackage for more information.
Document.API.searchhas now been moved toDocument.API.raw_search. Useraw_searchif you want to maintain the behaviour from 1.0.
- Initial release.