Adds support for routing_key
to be supplied for ElasticSearchFramework::IndexAlias#<get|put|delete>_item
to define a custom routing key when reading or writing index documents.
Adds support for routing_key
to be supplied for ElasticSearchFramework::ShardedIndex#<get|put|delete>_item
to define a custom routing key when reading or writing index documents.
IMPORTANT Default routing behaviour remains unless both a routing_key
is supplied in the request, and the index class inherits from ElasticSearchFramework::ShardedIndex
. ElasticSearchFramework::Index
subclasses will not receive this update.
See documentation for more information.
Adds support for op_type
to be supplied for ElasticSearchFramework::Index#put_item
to allow control of PUT behaviour in create scenarios.
Adds support for op_type
to be supplied for ElasticSearchFramework::IndexAlias#put_item
to allow control of PUT behaviour in create scenarios.
See documentation for more information and accepted values.
Adds support for op_type
to be supplied for ElasticSearchFramework::Repository#set
to allow control of PUT behaviour in create scenarios.
See documentation for more information and accepted values.
Adds index alias support.
Ensures that the read timeout is set to either the value of ENV['CONNECTION_READ_TIMEOUT']
or 5
as a default.
Previously this was being set to the value of ENV['CONNECTION_OPEN_TIMEOUT']
or 1
as a default.
The settings method when passed multiple times it was replacing the key value instead of building a hash of data within the name / type keys.
The index method no longer accepts shards as a parameter. This change follows the implementation of a new settings method allowing you to pass any number of settings objects to build out the index.
Where the index method is currently being used as follows
index name: 'index_name', shards: 1
This should now look as follows.
index name 'index_name'
settings name: :number_of_shards, value: 1
- Resolve JSON query to work with ES6 by adding the request content type.
- Make the mapping method more flexible to allow more than just type and index to be passed for the mapping parameters/options.
- 1.3.0 was pushed and yanked from gem server.
- Code did contain: Resolve JSON query to work with ES6 by adding the request content type.
- Added a json_query method to provide the ability to query ElasticSearch with a json object.
- Fix the eq and contains? queries.
The contains? method. This was doing the same thing as the eq method. Added the wildcard symbols to match the queries we were running using kibana.
The condition type. I've updated this to always do
value.to_s
as ES accepts a String value in the query for searches.
- Support Elasticsearch v6.2.x. See https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-6.0.html for more info.
Note: Contains breaking changes to the mapping API:
mapping name: 'default', field: :name, type: :string, analyser: :not_analyzed
must be changed to use the new format:
mapping name: 'default', field: :name, type: :keyword, index: true
- Bugfix to catch and surpress index already exists error.