- Allow to configure the elasticsearch version no matter which elasticsearch version is actually in use. The version information is needed to support version dependent features. Please note that manually configuring the version is usually not need as the version by default is determined by sending one request to elasticsearch.
SearchFlip::Config[:version] = { number: "8.1.1" }
SearchFlip::Config[:version] = { number: "2.13", distribution: "opensearch" }
- Support Opensearch 1.x and 2.x
- Fix wrong AWS signatures by generating the json before passing it to http-rb
- Fix thread-safety issue of http-rb
- Add
SearchFlip::Connection#bulk
to allow more clean bulk indexing to multiple indices at once
- Support Elasticsearch v8
- Add
SearchFlip::Criteria#http_timeout
to allow specifying timeouts on a query level
- Expose
Http#timeout
viaSearchFlip::HTTPClient
- Update httprb
- Changed oj default options
- Allow to set oj json options
- Fix
refresh
having a empty body breaking in elasticsearch 7.11
- Fix
index_scope
not being passed ineach_record
without block - Added
SearchFlip::Criteria#match_none
- Fix ignored false value for source when merging criterias
- Make
SearchFlip::Result.from_hit
work with the_source
being disabled
- Added plugin support in
SearchFlip::HTTPClient
- Added
SearchFlip::AwsSigv4Plugin
to be able to use AWS Elasticsearch with signed requests
- Added
Criteria#to_query
, which returns a raw query including all queries and filters, including the post filters - Added
Criteria#all
- [BREAKING] Support for elasticsearch 1.x has been removed
- [BREAKING] No longer pass multiple arguments to
#must
,#must_not
,#filter
,#should
,#post_must
,#post_must_not
,#post_filter
, and#post_should
. Pass an array of arguments instead:.post_must([...])
- [BREAKING]
#should
and#post_should
is now equivalent to.must(bool: { should: ... })
and.post_must(bool: { should: ... })
, - [BREAKING]
#unscope
is removed - [BREAKING]
SearchFlip::Connection#get_aliases
no longer returns a Hashie::Mash, but a raw Hash as was already stated in the docs #post_where
and#post_where_not
now handlenil
values as well:.post_where_not(title: nil)
withexists/exists not
filtersConnection#cat_indices/get_indices
now accepts additional parametersConnection#freeze_index
,Connection#unfreeze_index
,Index#freeze_index
andIndex#unfreeze_index
added- Added
SearchFlip::Result.from_hit
- Added support for
source
,sort
,page
,per
,paginate
,explain
, andhighlight
to aggregations - Added support for instrumentation
- Remove ruby 2.7 warnings
- Make
search_flip
work with hashie 4.0.0
- [DEPRECATED]
SearchFlip::Criteria#should
is deprecated and will become equivalent to.must(bool: { should: ... })
insearch_flip
3 - Added
SearchFlip::Criteria#explain
- [DEPRECATED]
SearchFlip::Criteria#unscope
is deprecated and will be removed insearch_flip
3 - Added
SearchFlip::Criteria#track_total_hits
- Added
SearchFlip::Connection
- [BREAKING] Changed
SearchFlip::Index.base_url
toSearchFlip::Index.connection
- [BREAKING] Changed
SearchFlip.version
toSearchFlip::Connection#version
- [BREAKING] Changed
SearchFlip.aliases
toSearchFlip::Connection#update_aliases
- [BREAKING] Changed
SearchFlip.msearch
toSearchFlip::Connection#msearch
- [BREAKING] Removed
base_url
param fromSearchFlip::Critiera#execute
- [BREAKING]
SearchFlip::Index.index_name
no longer defaults toSearchFlip::Index.type_name
- [BREAKING] No longer include the type name in
SearchFlip::Index.mapping
- Added
SearchFlip::Connection#get_aliases
- Added
SearchFlip::Connection#get_indices
- Added
SearchFlip::Connection#alias_exists?
- Added
SearchFlip::Index#with_settings
andSearchFlip::Criteria#with_settings
- Added
SearchFlip::Aggregation#merge
- Added
bulk_max_mb
config and option - Added
SearchFlip::Index.analyze
- Added
SearchFlip::Criteria#preference
- Added
SearchFlip::Criteria#search_type
- Added
SearchFlip::Criteria#routing
- Added
SearchFlip::Index.open_index
andSearchFlip::Index.close_index
- Added
SearchFlip::Index.mget
- Added
Criteria#find_results_in_batches
to scroll through the raw results - Fixed bug in
Criteria#find_in_batches
which possibly stopped scrolling too early - Added delegation for
should
,should_not
,must
andmust_not
- Migrated To FactoryBot