chewy 6.0.0 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/CODEOWNERS +1 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +39 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +16 -0
- data/.github/dependabot.yml +42 -0
- data/.github/workflows/ruby.yml +48 -0
- data/.rubocop.yml +16 -8
- data/.rubocop_todo.yml +110 -22
- data/CHANGELOG.md +385 -105
- data/CODE_OF_CONDUCT.md +14 -0
- data/CONTRIBUTING.md +63 -0
- data/Gemfile +4 -10
- data/Guardfile +3 -1
- data/README.md +494 -275
- data/chewy.gemspec +5 -20
- data/gemfiles/base.gemfile +12 -0
- data/gemfiles/rails.6.1.activerecord.gemfile +10 -15
- data/gemfiles/rails.7.0.activerecord.gemfile +14 -0
- data/gemfiles/rails.7.1.activerecord.gemfile +14 -0
- data/lib/chewy/config.rb +58 -50
- data/lib/chewy/elastic_client.rb +31 -0
- data/lib/chewy/errors.rb +7 -10
- data/lib/chewy/fields/base.rb +79 -13
- data/lib/chewy/fields/root.rb +4 -14
- data/lib/chewy/index/actions.rb +54 -37
- data/lib/chewy/{type → index}/adapter/active_record.rb +30 -6
- data/lib/chewy/{type → index}/adapter/base.rb +2 -3
- data/lib/chewy/{type → index}/adapter/object.rb +27 -31
- data/lib/chewy/{type → index}/adapter/orm.rb +17 -18
- data/lib/chewy/index/aliases.rb +14 -5
- data/lib/chewy/index/crutch.rb +40 -0
- data/lib/chewy/index/import/bulk_builder.rb +311 -0
- data/lib/chewy/{type → index}/import/bulk_request.rb +6 -7
- data/lib/chewy/{type → index}/import/journal_builder.rb +11 -12
- data/lib/chewy/{type → index}/import/routine.rb +18 -17
- data/lib/chewy/{type → index}/import.rb +76 -32
- data/lib/chewy/{type → index}/mapping.rb +29 -34
- data/lib/chewy/index/observe/active_record_methods.rb +87 -0
- data/lib/chewy/index/observe/callback.rb +34 -0
- data/lib/chewy/index/observe.rb +17 -0
- data/lib/chewy/index/specification.rb +1 -0
- data/lib/chewy/{type → index}/syncer.rb +59 -59
- data/lib/chewy/{type → index}/witchcraft.rb +11 -7
- data/lib/chewy/{type → index}/wrapper.rb +2 -2
- data/lib/chewy/index.rb +67 -94
- data/lib/chewy/journal.rb +25 -14
- data/lib/chewy/log_subscriber.rb +5 -1
- data/lib/chewy/minitest/helpers.rb +86 -13
- data/lib/chewy/minitest/search_index_receiver.rb +24 -26
- data/lib/chewy/railtie.rb +6 -20
- data/lib/chewy/rake_helper.rb +169 -113
- data/lib/chewy/rspec/build_query.rb +12 -0
- data/lib/chewy/rspec/helpers.rb +55 -0
- data/lib/chewy/rspec/update_index.rb +55 -44
- data/lib/chewy/rspec.rb +2 -0
- data/lib/chewy/runtime/version.rb +1 -1
- data/lib/chewy/runtime.rb +1 -1
- data/lib/chewy/search/loader.rb +19 -41
- data/lib/chewy/search/parameters/collapse.rb +16 -0
- data/lib/chewy/search/parameters/concerns/query_storage.rb +2 -2
- data/lib/chewy/search/parameters/ignore_unavailable.rb +27 -0
- data/lib/chewy/search/parameters/indices.rb +13 -58
- data/lib/chewy/search/parameters/knn.rb +16 -0
- data/lib/chewy/search/parameters/order.rb +6 -19
- data/lib/chewy/search/parameters/source.rb +5 -1
- data/lib/chewy/search/parameters/storage.rb +1 -1
- data/lib/chewy/search/parameters/track_total_hits.rb +16 -0
- data/lib/chewy/search/parameters.rb +6 -4
- data/lib/chewy/search/query_proxy.rb +9 -2
- data/lib/chewy/search/request.rb +169 -134
- data/lib/chewy/search/response.rb +5 -5
- data/lib/chewy/search/scoping.rb +7 -8
- data/lib/chewy/search/scrolling.rb +13 -13
- data/lib/chewy/search.rb +9 -19
- data/lib/chewy/stash.rb +19 -30
- data/lib/chewy/strategy/active_job.rb +1 -1
- data/lib/chewy/strategy/atomic_no_refresh.rb +18 -0
- data/lib/chewy/strategy/base.rb +10 -0
- data/lib/chewy/strategy/delayed_sidekiq/scheduler.rb +151 -0
- data/lib/chewy/strategy/delayed_sidekiq/worker.rb +52 -0
- data/lib/chewy/strategy/delayed_sidekiq.rb +30 -0
- data/lib/chewy/strategy/lazy_sidekiq.rb +64 -0
- data/lib/chewy/strategy/sidekiq.rb +2 -1
- data/lib/chewy/strategy.rb +6 -19
- data/lib/chewy/version.rb +1 -1
- data/lib/chewy.rb +39 -86
- data/lib/generators/chewy/install_generator.rb +1 -1
- data/lib/tasks/chewy.rake +36 -32
- data/migration_guide.md +46 -8
- data/spec/chewy/config_spec.rb +14 -39
- data/spec/chewy/elastic_client_spec.rb +26 -0
- data/spec/chewy/fields/base_spec.rb +432 -147
- data/spec/chewy/fields/root_spec.rb +20 -28
- data/spec/chewy/fields/time_fields_spec.rb +5 -5
- data/spec/chewy/index/actions_spec.rb +368 -59
- data/spec/chewy/{type → index}/adapter/active_record_spec.rb +156 -40
- data/spec/chewy/{type → index}/adapter/object_spec.rb +21 -6
- data/spec/chewy/index/aliases_spec.rb +3 -3
- data/spec/chewy/index/import/bulk_builder_spec.rb +494 -0
- data/spec/chewy/{type → index}/import/bulk_request_spec.rb +5 -12
- data/spec/chewy/{type → index}/import/journal_builder_spec.rb +9 -19
- data/spec/chewy/{type → index}/import/routine_spec.rb +19 -19
- data/spec/chewy/{type → index}/import_spec.rb +164 -98
- data/spec/chewy/index/mapping_spec.rb +135 -0
- data/spec/chewy/index/observe/active_record_methods_spec.rb +68 -0
- data/spec/chewy/index/observe/callback_spec.rb +139 -0
- data/spec/chewy/index/observe_spec.rb +143 -0
- data/spec/chewy/index/settings_spec.rb +3 -1
- data/spec/chewy/index/specification_spec.rb +20 -30
- data/spec/chewy/{type → index}/syncer_spec.rb +14 -19
- data/spec/chewy/{type → index}/witchcraft_spec.rb +20 -22
- data/spec/chewy/index/wrapper_spec.rb +100 -0
- data/spec/chewy/index_spec.rb +60 -105
- data/spec/chewy/journal_spec.rb +25 -74
- data/spec/chewy/minitest/helpers_spec.rb +123 -15
- data/spec/chewy/minitest/search_index_receiver_spec.rb +28 -30
- data/spec/chewy/multi_search_spec.rb +4 -5
- data/spec/chewy/rake_helper_spec.rb +315 -55
- data/spec/chewy/rspec/build_query_spec.rb +34 -0
- data/spec/chewy/rspec/helpers_spec.rb +61 -0
- data/spec/chewy/rspec/update_index_spec.rb +74 -71
- data/spec/chewy/runtime_spec.rb +2 -2
- data/spec/chewy/search/loader_spec.rb +19 -53
- data/spec/chewy/search/pagination/kaminari_examples.rb +4 -6
- data/spec/chewy/search/pagination/kaminari_spec.rb +2 -2
- data/spec/chewy/search/parameters/collapse_spec.rb +5 -0
- data/spec/chewy/search/parameters/ignore_unavailable_spec.rb +67 -0
- data/spec/chewy/search/parameters/indices_spec.rb +26 -117
- data/spec/chewy/search/parameters/knn_spec.rb +5 -0
- data/spec/chewy/search/parameters/order_spec.rb +18 -11
- data/spec/chewy/search/parameters/query_storage_examples.rb +67 -21
- data/spec/chewy/search/parameters/search_after_spec.rb +4 -1
- data/spec/chewy/search/parameters/source_spec.rb +8 -2
- data/spec/chewy/search/parameters/track_total_hits_spec.rb +5 -0
- data/spec/chewy/search/parameters_spec.rb +18 -4
- data/spec/chewy/search/query_proxy_spec.rb +68 -17
- data/spec/chewy/search/request_spec.rb +292 -110
- data/spec/chewy/search/response_spec.rb +12 -12
- data/spec/chewy/search/scrolling_spec.rb +10 -17
- data/spec/chewy/search_spec.rb +40 -34
- data/spec/chewy/stash_spec.rb +9 -21
- data/spec/chewy/strategy/active_job_spec.rb +16 -16
- data/spec/chewy/strategy/atomic_no_refresh_spec.rb +60 -0
- data/spec/chewy/strategy/atomic_spec.rb +9 -10
- data/spec/chewy/strategy/delayed_sidekiq_spec.rb +202 -0
- data/spec/chewy/strategy/lazy_sidekiq_spec.rb +214 -0
- data/spec/chewy/strategy/sidekiq_spec.rb +12 -12
- data/spec/chewy/strategy_spec.rb +19 -15
- data/spec/chewy_spec.rb +24 -107
- data/spec/spec_helper.rb +3 -22
- data/spec/support/active_record.rb +25 -7
- metadata +78 -339
- data/.circleci/config.yml +0 -240
- data/Appraisals +0 -81
- data/gemfiles/rails.5.2.activerecord.gemfile +0 -17
- data/gemfiles/rails.5.2.mongoid.6.4.gemfile +0 -17
- data/gemfiles/rails.6.0.activerecord.gemfile +0 -17
- data/gemfiles/sequel.4.45.gemfile +0 -11
- data/lib/chewy/backports/deep_dup.rb +0 -46
- data/lib/chewy/backports/duplicable.rb +0 -91
- data/lib/chewy/search/pagination/will_paginate.rb +0 -43
- data/lib/chewy/search/parameters/types.rb +0 -20
- data/lib/chewy/strategy/resque.rb +0 -27
- data/lib/chewy/strategy/shoryuken.rb +0 -40
- data/lib/chewy/type/actions.rb +0 -43
- data/lib/chewy/type/adapter/mongoid.rb +0 -67
- data/lib/chewy/type/adapter/sequel.rb +0 -93
- data/lib/chewy/type/crutch.rb +0 -32
- data/lib/chewy/type/import/bulk_builder.rb +0 -122
- data/lib/chewy/type/observe.rb +0 -82
- data/lib/chewy/type.rb +0 -120
- data/lib/sequel/plugins/chewy_observe.rb +0 -63
- data/spec/chewy/search/pagination/will_paginate_examples.rb +0 -63
- data/spec/chewy/search/pagination/will_paginate_spec.rb +0 -23
- data/spec/chewy/search/parameters/types_spec.rb +0 -5
- data/spec/chewy/strategy/resque_spec.rb +0 -46
- data/spec/chewy/strategy/shoryuken_spec.rb +0 -70
- data/spec/chewy/type/actions_spec.rb +0 -50
- data/spec/chewy/type/adapter/mongoid_spec.rb +0 -372
- data/spec/chewy/type/adapter/sequel_spec.rb +0 -472
- data/spec/chewy/type/import/bulk_builder_spec.rb +0 -194
- data/spec/chewy/type/mapping_spec.rb +0 -175
- data/spec/chewy/type/observe_spec.rb +0 -137
- data/spec/chewy/type/wrapper_spec.rb +0 -100
- data/spec/chewy/type_spec.rb +0 -55
- data/spec/support/mongoid.rb +0 -93
- data/spec/support/sequel.rb +0 -80
data/CHANGELOG.md
CHANGED
@@ -1,99 +1,371 @@
|
|
1
|
-
#
|
1
|
+
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## master (unreleased)
|
4
4
|
|
5
|
-
|
5
|
+
### New Features
|
6
6
|
|
7
|
-
|
7
|
+
### Changes
|
8
8
|
|
9
|
-
|
9
|
+
### Bugs Fixed
|
10
10
|
|
11
|
-
|
12
|
-
* [#749](https://github.com/toptal/chewy/pull/749): Avoid importing everything when given an empty relation ([@JF-Lalonde][], [@dalthon][])
|
13
|
-
* [#736](https://github.com/toptal/chewy/pull/736): Fix nil children when using witchcraft ([@taylor-au][])
|
11
|
+
## 7.5.1 (2024-01-30)
|
14
12
|
|
15
|
-
|
13
|
+
### New Features
|
16
14
|
|
17
|
-
|
18
|
-
* [#755](https://github.com/toptal/chewy/pull/755): `attribute_highlights` returns an array of highlights ([@musaffa][], [@dalthon][])
|
19
|
-
* [#753](https://github.com/toptal/chewy/pull/753): Add support for direct_import parameter to skip objects reloading ([@TikiTDO][], [@dalthon][])
|
20
|
-
* [#739](https://github.com/toptal/chewy/pull/739): Remove explicit `main` branch dependencies on rspec* gems after `rspec-mocks` 3.10.2 is released ([@rabotyaga][])
|
15
|
+
* [#925](https://github.com/toptal/chewy/pull/925): Add configuration option for default scope cleanup behavior. ([@barthez][])
|
21
16
|
|
22
|
-
|
17
|
+
### Changes
|
23
18
|
|
24
|
-
|
19
|
+
### Bugs Fixed
|
25
20
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
21
|
+
## 7.5.0 (2024-01-15)
|
22
|
+
|
23
|
+
### New Features
|
24
|
+
|
25
|
+
* [#894](https://github.com/toptal/chewy/pull/894): Way of cleaning redis from artifacts left by `delayed_sidekiq` strategy which could potentially cause flaky tests. ([@Drowze](https://github.com/Drowze))
|
26
|
+
* [#919](https://github.com/toptal/chewy/pull/919): Add pre-request filter ([@konalegi][https://github.com/konalegi])
|
27
|
+
|
28
|
+
## 7.4.0 (2023-12-13)
|
29
|
+
|
30
|
+
### New Features
|
31
|
+
|
32
|
+
### Changes
|
33
|
+
|
34
|
+
* [#911](https://github.com/toptal/chewy/pull/911): Remove ruby 2.x. ([@konalegi][https://github.com/konalegi])
|
35
|
+
|
36
|
+
### Bugs Fixed
|
37
|
+
|
38
|
+
## 7.3.6 (2023-12-13)
|
39
|
+
|
40
|
+
### New Features
|
41
|
+
|
42
|
+
* [#890](https://github.com/toptal/chewy/pull/890): Add the [`knn`](https://www.elastic.co/guide/en/elasticsearch/reference/current/knn-search.html) option to the request. ([@jkostolansky][])
|
43
|
+
|
44
|
+
### Changes
|
45
|
+
|
46
|
+
### Bugs Fixed
|
47
|
+
|
48
|
+
## 7.3.5 (2023-12-06)
|
49
|
+
|
50
|
+
### New Features
|
51
|
+
|
52
|
+
* [#907](https://github.com/toptal/chewy/pull/907): Fix deprecation warning in LogSubscriber for Rails 7.1 ([@alejandroperea](https://github.com/alejandroperea))
|
53
|
+
|
54
|
+
### Changes
|
55
|
+
|
56
|
+
### Bugs Fixed
|
57
|
+
|
58
|
+
## 7.3.4 (2023-08-29)
|
59
|
+
|
60
|
+
### New Features
|
61
|
+
|
62
|
+
* [#888](https://github.com/toptal/chewy/pull/892): Rake task to create missing indexes ([@konalegi](https://github.com/konalegi))
|
63
|
+
|
64
|
+
### Changes
|
65
|
+
|
66
|
+
### Bugs Fixed
|
67
|
+
|
68
|
+
## 7.3.3 (2023-07-07)
|
69
|
+
|
70
|
+
### New Features
|
71
|
+
|
72
|
+
* [#888](https://github.com/toptal/chewy/pull/888/files): Skip journal creation on import ([@konalegi](https://github.com/konalegi))
|
73
|
+
|
74
|
+
### Changes
|
75
|
+
|
76
|
+
### Bugs Fixed
|
77
|
+
|
78
|
+
## 7.3.2 (2023-04-20)
|
79
|
+
|
80
|
+
### New Features
|
81
|
+
|
82
|
+
### Changes
|
83
|
+
|
84
|
+
### Bugs Fixed
|
85
|
+
|
86
|
+
* [#861](https://github.com/toptal/chewy/pull/861): Fix bug in mock_elasticsearch_response_sources ([@lafeber](https://github.com/lafeber))
|
87
|
+
|
88
|
+
## 7.3.1 (2023-04-20)
|
89
|
+
|
90
|
+
### Bugs Fixed
|
91
|
+
|
92
|
+
* [#874](https://github.com/toptal/chewy/pull/874): Fix `chewy:journal:clean` task for ruby 3.x. ([@muk-ai](https://github.com/muk-ai))
|
93
|
+
* [#882](https://github.com/toptal/chewy/pull/882): Fix memory leak during `chewy:reset` for ruby 3.2 ([@konalegi](https://github.com/konalegi))
|
94
|
+
|
95
|
+
## 7.3.0 (2023-04-03)
|
96
|
+
|
97
|
+
### New Features
|
98
|
+
|
99
|
+
* [#869](https://github.com/toptal/chewy/pull/869): New strategy - `delayed_sidekiq`. Allow passing `strategy: :delayed_sidekiq` option to `SomeIndex.import([1, ...], strategy: :delayed_sidekiq)`. The strategy is compatible with `update_fields` option as well. ([@skcc321][])
|
100
|
+
* [#879](https://github.com/toptal/chewy/pull/879): Configure CI to check for ruby 3.2 compatibility. ([@konalegi][])
|
101
|
+
|
102
|
+
### Changes
|
103
|
+
|
104
|
+
### Bugs Fixed
|
105
|
+
|
106
|
+
* [#856](https://github.com/toptal/chewy/pull/856): Fix return value of subscribed_task_stats used in rake tasks. ([@fabiormoura][])
|
107
|
+
|
108
|
+
## 7.2.7 (2022-11-15)
|
109
|
+
|
110
|
+
### New Features
|
111
|
+
|
112
|
+
* [#857](https://github.com/toptal/chewy/pull/857): Allow passing `wait_for_completion`, `request_per_second` and `scroll_size` options to `chewy:journal:clean` rake task and `delete_all` query builder method. ([@konalegi][])([@barthez][])
|
113
|
+
|
114
|
+
### Changes
|
115
|
+
|
116
|
+
### Bugs Fixed
|
117
|
+
|
118
|
+
* [#863](https://github.com/toptal/chewy/pull/863): Fix `crutches` call doesn't respect `update_fields` option. ([@skcc321][])
|
119
|
+
|
120
|
+
## 7.2.6 (2022-06-13)
|
37
121
|
|
38
|
-
|
122
|
+
### New Features
|
39
123
|
|
40
|
-
|
124
|
+
* [#841](https://github.com/toptal/chewy/pull/841): Add the [`collapse`](https://www.elastic.co/guide/en/elasticsearch/reference/current/collapse-search-results.html) option to the request. ([@jkostolansky][])
|
41
125
|
|
42
|
-
|
43
|
-
* [#647](https://github.com/toptal/chewy/pull/647): Support `search_type`, `request_cache`, and `allow_partial_search_results` as query string parameters ([@mattzollinhofer][])
|
126
|
+
### Bugs Fixed
|
44
127
|
|
45
|
-
|
128
|
+
* [#842](https://github.com/toptal/chewy/issues/842): Fix `ignore_blank` handling. ([@rabotyaga][])
|
129
|
+
* [#848](https://github.com/toptal/chewy/issues/848): Fix invalid journal pagination. ([@konalegi][])
|
46
130
|
|
47
|
-
|
48
|
-
* [#682](https://github.com/toptal/chewy/pull/682): Insert `RequestStrategy` middleware before `ActionDispatch::ShowExceptions` ([@dck][])
|
131
|
+
## 7.2.5 (2022-03-04)
|
49
132
|
|
50
|
-
|
133
|
+
### New Features
|
51
134
|
|
52
|
-
|
135
|
+
* [#827](https://github.com/toptal/chewy/pull/827): Add `:lazy_sidekiq` strategy, that defers not only importing but also `update_index` callback evaluation for created and updated objects. ([@sl4vr][])
|
136
|
+
* [#827](https://github.com/toptal/chewy/pull/827): Add `:atomic_no_refresh` strategy. Like `:atomic`, but `refresh=false` parameter is set. ([@barthez][])
|
137
|
+
* [#827](https://github.com/toptal/chewy/pull/827): Add `:no_refresh` chain call to `update_index` matcher to ensure import was called with `refresh=false`. ([@barthez][])
|
53
138
|
|
54
|
-
|
55
|
-
* `Chewy.default_field_type` is `text` now.
|
56
|
-
* `Chewy::Stash` was split onto two indexes - `Chewy::Stash::Specification` and `Chewy::Stash::Journal`
|
57
|
-
* Data for journal and specification is stored in binary fields base64-encoded to bypass the limits of other fields.
|
58
|
-
* [#626](https://github.com/toptal/chewy/pull/626): Don't underscore suggested index name ([@dm1try][])
|
139
|
+
### Bugs Fixed
|
59
140
|
|
60
|
-
|
141
|
+
* [#835](https://github.com/toptal/chewy/pull/835): Support keyword arguments in named scopes. ([@milk1000cc][])
|
61
142
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
143
|
+
## 7.2.4 (2022-02-03)
|
144
|
+
|
145
|
+
### New Features
|
146
|
+
|
147
|
+
* [#760](https://github.com/toptal/chewy/pull/760): Replace parent-child mapping with a [join field](https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html#parent-child-mapping-types) ([@mrzasa][])
|
148
|
+
|
149
|
+
### Bugs Fixed
|
150
|
+
|
151
|
+
* [#825](https://github.com/toptal/chewy/issues/825): Fix mismatch argument names at update_mapping rake task ([@AgeevAndrew][])
|
152
|
+
* [#832](https://github.com/toptal/chewy/issues/832): Fix "cannot load such file -- `i18n/core_ext/hash`" ([@chrisandreae][])
|
153
|
+
|
154
|
+
## 7.2.3 (2021-10-29)
|
155
|
+
|
156
|
+
### New Features
|
157
|
+
|
158
|
+
* [#801](https://github.com/toptal/chewy/pull/801): Add the [`track_total_hits`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-your-data.html#track-total-hits) option to the query. ([@milk1000cc][])
|
159
|
+
* [#810](https://github.com/toptal/chewy/pull/810): Use `unsafe_load` when loading config to support Psych 4.
|
160
|
+
* [#819](https://github.com/toptal/chewy/pull/819): Add the [`ignore_unavailable`](https://www.elastic.co/guide/en/elasticsearch/reference/current/multi-index.html#multi-index) option to the request. ([@kolauren][])
|
161
|
+
|
162
|
+
### Changes
|
163
|
+
|
164
|
+
* [#817](https://github.com/toptal/chewy/pull/817): Show warning message during rake chewy:reset or chewy:upgrade if journaling is disabled. ([@konalegi][])
|
165
|
+
|
166
|
+
### Bugs Fixed
|
167
|
+
|
168
|
+
* [#816](https://github.com/toptal/chewy/pull/816): Move query [`preference`](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/search-search.html#search-preference) from body to query parameters. ([@afg419][])
|
169
|
+
|
170
|
+
## 7.2.2 (2021-05-24)
|
171
|
+
|
172
|
+
### Changes
|
173
|
+
|
174
|
+
* [#800](https://github.com/toptal/chewy/pull/800): Revert [#787](https://github.com/toptal/chewy/pull/787) progressbar feature to avoid performance degradation in parallel import ([@rabotyaga][])
|
175
|
+
|
176
|
+
* [#795](https://github.com/toptal/chewy/issues/795): **(Breaking)** Change the Chewy::Search::Parameters::Order implementation to use Array ([@jiajiawang][]):
|
177
|
+
* To allow multiple sorting options that may have the same key name. For example script based sorting whose key will always be `_script`.
|
178
|
+
* Behaviour change of chained `order` calls.
|
179
|
+
* e.g. `.order(_script: {a: 1}).order(_script: {b: 2})`
|
180
|
+
* Before `{:sort=>[{"_script"=>{:b=>2}}]}`
|
181
|
+
* After `{:sort=>[{"_script"=>{:a=>1}},{"_script"=>{:b=>2}}]}`
|
182
|
+
|
183
|
+
* [#654](https://github.com/toptal/chewy/issues/654): Add helpers and matchers for testing ([@Vitalina-Vakulchyk][]):
|
184
|
+
* `mock_elasticsearch_response` helpers both Rspec and Minitest - to mock elasticsearch response
|
185
|
+
* `mock_elasticsearch_response_sources` helpers both Rspec and Minitest - to mock elasticsearch response sources
|
186
|
+
* `assert_elasticsearch_query` helper for Minitest - to compare request and expected query (returns `true`/`false`)
|
187
|
+
* `build_query` matcher for Rspec - to compare request and expected query (returns `true`/`false`)
|
188
|
+
|
189
|
+
## 7.2.1 (2021-05-11)
|
190
|
+
|
191
|
+
### New Features
|
192
|
+
|
193
|
+
* [#469](https://github.com/toptal/chewy/issues/469): Add ability to output the progressbar with `ENV['PROGRESS']` during `reset` rake tasks ([@Vitalina-Vakulchyk][]):
|
194
|
+
* for `rake chewy:reset` and `rake chewy:parallel:reset`
|
195
|
+
* progressbar is hidden by default, set `ENV['PROGRESS']` to `true` to display it
|
196
|
+
|
197
|
+
### Bugs Fixed
|
198
|
+
|
199
|
+
* [#796](https://github.com/toptal/chewy/pull/796): Fix clear scroll: pass `scroll_id` in body, as passing in path parameters is deprecated and can overflow `http.max_initial_line_length` ([@rabotyaga][])
|
200
|
+
|
201
|
+
## 7.0.1 (2021-05-03)
|
202
|
+
|
203
|
+
### Changes
|
204
|
+
|
205
|
+
* [#792](https://github.com/toptal/chewy/pull/792): Skip ES version memoization for search requests ([@rabotyaga][])
|
206
|
+
* See the Migration Guide for details
|
207
|
+
|
208
|
+
## 7.2.0 (2021-04-19)
|
209
|
+
|
210
|
+
### New Features
|
211
|
+
|
212
|
+
* [#778](https://github.com/toptal/chewy/pull/778): Add `ignore_blank` option to `field` method ([@Vitalina-Vakulchyk][]):
|
213
|
+
* `true` by default for the `geo_point` type
|
214
|
+
* `false` by default for other types
|
215
|
+
|
216
|
+
### Changes
|
217
|
+
|
218
|
+
* [#783](https://github.com/toptal/chewy/pull/783): **(Breaking)** Remove `Chewy::Type`, simplify DSL ([@rabotyaga][])
|
219
|
+
* Remove the `Chewy::Type` class
|
220
|
+
* e.g. remove `CitiesIndex::City` / `CitiesIndex.city`
|
221
|
+
* `CitiesIndex::City.import! ...` becomes `CitiesIndex.import! ...`
|
222
|
+
* Simplify index DSL:
|
223
|
+
* `define_type` block -> `index_scope` clause
|
224
|
+
* it can be omitted completely, if you don't need to specify the scope or options, e.g. `name`
|
225
|
+
* Remove type names from string representations:
|
226
|
+
* in `update_index` ActiveRecord helper and RSpec matcher, e.g.
|
227
|
+
* `update_index('cities#city')` -> `update_index('cities')`
|
228
|
+
* `update_index(UsersIndex::User)` -> `update_index(UsersIndex)`
|
229
|
+
* in rake tasks (e.g. `rake chewy:update[cities#city]` -> `rake chewy:update[cities]`)
|
230
|
+
* in rake tasks output (e.g. `Imported CitiesIndex::City in 1s, stats: index 3` -> `Imported CitiesIndex in 1s, stats: index 3`)
|
231
|
+
* Use index name instead of type name in loader additional scope
|
232
|
+
* e.g. `CitiesIndex.filter(...).load(city: {scope: City.where(...)})` -> `CitiesIndex.filter(...).load(cities: {scope: City.where(...)})`
|
233
|
+
* [#692](https://github.com/toptal/chewy/issues/692): Add `.update_mapping` to Index class ([@Vitalina-Vakulchyk][]):
|
234
|
+
* Wrapped Elasticsearch gem `.put_mapping` with `.update_mapping` in Index class
|
235
|
+
* Add `rake chewy:update_mapping` task
|
236
|
+
* [#594](https://github.com/toptal/chewy/issues/594): Add `.reindex` to Index class ([@Vitalina-Vakulchyk][]):
|
237
|
+
* Wrapped Elasticsearch gem `.reindex` with `.reindex` in Index class
|
238
|
+
* Add `rake chewy:reindex` task
|
239
|
+
* [#679](https://github.com/toptal/chewy/issues/679): Wrapped `Elasticsearch::API::Indices::Actions#clear_cache` with `.clear_cache` in Index class ([@Vitalina-Vakulchyk][])
|
240
|
+
* [#495](https://github.com/toptal/chewy/issues/495): Ability to change Rails console strategy with `Chewy.console_strategy` ([@Vitalina-Vakulchyk][])
|
241
|
+
* [#778](https://github.com/toptal/chewy/pull/778): **(Breaking)** Drop support for Ruby 2.5 ([@Vitalina-Vakulchyk][])
|
242
|
+
* [#776](https://github.com/toptal/chewy/pull/776): **(Breaking)** Removal of unnecessary features and integrations ([@Vitalina-Vakulchyk][]):
|
243
|
+
* `aws-sdk-sqs` / `shoryuken`
|
244
|
+
* `mongoid`
|
245
|
+
* `sequel`
|
246
|
+
* `will_paginate`
|
247
|
+
* `resque`
|
248
|
+
* [#769](https://github.com/toptal/chewy/pull/769): **(Breaking)** Removal of deprecated methods and rake tasks ([@Vitalina-Vakulchyk][]):
|
249
|
+
* `Chewy::Index.index_params` is removed, use `Chewy::Index.specification_hash` instead
|
250
|
+
* `Chewy::Index.derivable_index_name` is removed, use `Chewy::Index.derivable_name` instead
|
251
|
+
* `Chewy::Index.default_prefix` is removed, use `Chewy::Index.prefix` instead
|
252
|
+
* `Chewy::Index.build_index_name` is removed, use `Chewy::Index.index_name` instead
|
253
|
+
* `Chewy::RakeHelper.reset_index` is removed, use `Chewy::RakeHelper.reset` instead
|
254
|
+
* `Chewy::RakeHelper.reset_all` is removed, use `Chewy::RakeHelper.reset` instead
|
255
|
+
* `Chewy::RakeHelper.update_index` is removed, use `Chewy::RakeHelper.update` instead
|
256
|
+
* `Chewy::RakeHelper.update_all` is removed, use `Chewy::RakeHelper.update` instead
|
257
|
+
* `rake chewy:apply_changes_from` is removed, use `rake chewy:journal:apply` instead
|
258
|
+
* `rake chewy:clean_journal` is removed, use `rake chewy:journal:clean` instead
|
259
|
+
|
260
|
+
## 7.1.0 (2021-03-03)
|
261
|
+
|
262
|
+
### Changes
|
263
|
+
|
264
|
+
* [#766](https://github.com/toptal/chewy/pull/766): **(Breaking)** Drop support for Elasticsearch 6.x ([@rabotyaga][])
|
265
|
+
* [#765](https://github.com/toptal/chewy/pull/765): Fix ruby 2.7 warnings in rake tasks ([@aglushkov][])
|
266
|
+
|
267
|
+
### Bugs Fixed
|
268
|
+
|
269
|
+
* [#722](https://github.com/toptal/chewy/issues/722): Remove alias_method_chain, use Module#prepend instead ([@dalthon][])
|
270
|
+
|
271
|
+
## 7.0.0 (2021-02-22)
|
272
|
+
|
273
|
+
### New Features
|
274
|
+
|
275
|
+
* [#763](https://github.com/toptal/chewy/pull/763): Added support for Elasticsearch 7 ([@rabotyaga][])
|
276
|
+
|
277
|
+
### Changes
|
278
|
+
|
279
|
+
* [#757](https://github.com/toptal/chewy/pull/757): **(Breaking)** Fix `Chewy::Index.index` & `Chewy::Index.aliases` to correctly report indexes and aliases ([@mpeychich][], [@dalthon][])
|
280
|
+
* [#761](https://github.com/toptal/chewy/pull/761): Avoid fetching scope data to check if it is blank ([@dalthon][])
|
281
|
+
|
282
|
+
## 6.0.0 (2021-02-11)
|
283
|
+
|
284
|
+
### Changes
|
285
|
+
|
286
|
+
* [#743](https://github.com/toptal/chewy/pull/743): **(Breaking)** Elasticsearch 6.x support added. See the [migration guide](migration_guide.md) & ES [breaking changes](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/breaking-changes-6.0.html). Removed legacy DSL support. Removed support for ES < 5. ([@mrzasa][], [@konalegi][], [@rabotyaga][])
|
287
|
+
* [#751](https://github.com/toptal/chewy/pull/751): Add [Multi Search API](https://www.elastic.co/guide/en/elasticsearch/reference/6.8/search-multi-search.html) support. ([@mpeychich][], [@dalthon][])
|
288
|
+
* [#755](https://github.com/toptal/chewy/pull/755): `attribute_highlights` returns an array of highlights. ([@musaffa][], [@dalthon][])
|
289
|
+
* [#753](https://github.com/toptal/chewy/pull/753): Add support for direct_import parameter to skip objects reloading. ([@TikiTDO][], [@dalthon][])
|
290
|
+
* [#739](https://github.com/toptal/chewy/pull/739): Remove explicit `main` branch dependencies on `rspec-*` gems after `rspec-mocks` 3.10.2 is released. ([@rabotyaga][])
|
291
|
+
|
292
|
+
### Bugs Fixed
|
293
|
+
|
294
|
+
* [#695](https://github.com/toptal/chewy/pull/695): Clear the scroll by id after completing `scroll_batches`. ([@socialchorus][])
|
295
|
+
* [#749](https://github.com/toptal/chewy/pull/749): Avoid importing everything when given an empty relation. ([@JF-Lalonde][], [@dalthon][])
|
296
|
+
* [#736](https://github.com/toptal/chewy/pull/736): Fix nil children when using witchcraft. ([@taylor-au][])
|
297
|
+
|
298
|
+
## 5.2.0 (2021-01-28)
|
299
|
+
|
300
|
+
### Changes
|
301
|
+
|
302
|
+
* [#734](https://github.com/toptal/chewy/pull/734): Add support for Ruby 3. ([@lowang][])
|
303
|
+
* [#735](https://github.com/toptal/chewy/pull/735): Correct deprecation warning for Elasticsearch 5.6 to 6: empty query for`_delete_by_query`, delete by alias, `index_already_exists_exception` renaming. ([@bhacaz][])
|
304
|
+
* [#733](https://github.com/toptal/chewy/pull/733): Update gemspec dependencies for Rails. Update CI gemfiles and matrix to tests against current LTS Rails versions. ([@bhacaz][])
|
305
|
+
* Tweak some wording and formatting; add a note about compatibility; update copyright; remove broken logo; update the CI badge. ([@bbatsov][])
|
306
|
+
* [#714](https://github.com/toptal/chewy/pull/714): Update instructions for AWS ElasticSearch. ([@olancheg][])
|
307
|
+
* [#728](https://github.com/toptal/chewy/pull/728): Fix more ruby 2.7 keyword params deprecation warnings. ([@aglushkov][])
|
308
|
+
* [#715](https://github.com/toptal/chewy/pull/715): Fixed all deprecation warnings in Ruby 2.7. ([@gseddon][])
|
309
|
+
* [#718](https://github.com/toptal/chewy/pull/718): Added Ruby 2.7 to CircleCI config. ([@mrzasa][])
|
310
|
+
* [#707](https://github.com/toptal/chewy/pull/707): Allow configuration of Active Job queue name. ([@mrzasa][])
|
311
|
+
* [#711](https://github.com/toptal/chewy/pull/711): Setup CI on CircleCI. ([@mrzasa][])
|
312
|
+
* [#710](https://github.com/toptal/chewy/pull/710): Fix deprecation warning for constructing new `BigDecimal`. ([@AlexVPopov][])
|
313
|
+
|
314
|
+
## 5.1.0 (2019-09-24)
|
315
|
+
|
316
|
+
### Changes
|
317
|
+
|
318
|
+
* [#657](https://github.com/toptal/chewy/pull/657): **(Breaking)** Add support for multiple indices in request. ([@pyromaniac][])
|
319
|
+
* [#647](https://github.com/toptal/chewy/pull/647): **(Breaking)** Support `search_type`, `request_cache`, and `allow_partial_search_results` as query string parameters. ([@mattzollinhofer][])
|
320
|
+
* [#606](https://github.com/toptal/chewy/pull/606): Speed up imports when `bulk_size` is specified. ([@yahooguntu][])
|
321
|
+
* [#682](https://github.com/toptal/chewy/pull/682): Insert `RequestStrategy` middleware before `ActionDispatch::ShowExceptions`. ([@dck][])
|
322
|
+
|
323
|
+
## 5.0.0 (2018-02-13)
|
324
|
+
|
325
|
+
### Changes
|
326
|
+
|
327
|
+
* **(Breaking)** Align the gem version with the most recent ElasticSearch version we support.
|
328
|
+
* **(Breaking)** `Chewy.default_field_type` is `text` now.
|
329
|
+
* **(Breaking)** `Chewy::Stash` was split onto two indexes - `Chewy::Stash::Specification` and `Chewy::Stash::Journal`.
|
330
|
+
* **(Breaking)** Data for journal and specification is stored in binary fields base64-encoded to bypass the limits of other fields.
|
331
|
+
* **(Breaking)** [#626](https://github.com/toptal/chewy/pull/626): Don't underscore suggested index name. ([@dm1try][])
|
332
|
+
* [#598](https://github.com/toptal/chewy/pull/598): `pipeline` import option support. ([@eManPrague][])
|
333
|
+
* [#625](https://github.com/toptal/chewy/pull/625): Proper Rails check. ([@nattfodd][])
|
334
|
+
* [#623](https://github.com/toptal/chewy/pull/623): Bypass strategy performance improvements. ([@DNNX][])
|
335
|
+
* [#620](https://github.com/toptal/chewy/pull/620): Avoid index update calls for empty data. ([@robertasg][])
|
66
336
|
* Do not underscore suggested index name on `Chewy::Index.index_name` call.
|
67
337
|
* It is possible now to call `root` method several times inside a single type definition, the options will be merged. Also, the block isn't required anymore.
|
68
|
-
* [#565](https://github.com/toptal/chewy/pull/565): Fixed some Sequel deprecation warnings ([@arturtr][])
|
69
|
-
* [#577](https://github.com/toptal/chewy/pull/577): Fixed some Sequel deprecation warnings ([@matchbookmac][])
|
338
|
+
* [#565](https://github.com/toptal/chewy/pull/565): Fixed some Sequel deprecation warnings. ([@arturtr][])
|
339
|
+
* [#577](https://github.com/toptal/chewy/pull/577): Fixed some Sequel deprecation warnings. ([@matchbookmac][])
|
340
|
+
|
341
|
+
### Bugs Fixed
|
70
342
|
|
71
|
-
|
343
|
+
* [#593](https://github.com/toptal/chewy/pull/593): Fixed index settings logic error. ([@yahooguntu][])
|
344
|
+
* [#567](https://github.com/toptal/chewy/pull/567): Missed check in higlight method. ([@heartfulbird][])
|
72
345
|
|
73
|
-
|
74
|
-
* [#567](https://github.com/toptal/chewy/pull/567): Missed check in higlight method ([@heartfulbird][])
|
346
|
+
-----------------------------------------------------------------------------------
|
75
347
|
|
76
|
-
|
348
|
+
## 0.10.1
|
77
349
|
|
78
|
-
|
350
|
+
### Changes
|
79
351
|
|
80
352
|
* [#558](https://github.com/toptal/chewy/pull/558): Improved parallel worker titles
|
81
353
|
|
82
|
-
|
354
|
+
### Bugs Fixed
|
83
355
|
|
84
356
|
* [#557](https://github.com/toptal/chewy/pull/557): Fixed request strategy initial debug message
|
85
357
|
* [#556](https://github.com/toptal/chewy/pull/556): Fixed will objects paginated array initialization when pagination was not used
|
86
358
|
* [#555](https://github.com/toptal/chewy/pull/555): Fixed fields symbol/string value
|
87
359
|
* [#554](https://github.com/toptal/chewy/pull/554): Fixed root field value proc
|
88
360
|
|
89
|
-
|
361
|
+
## 0.10.0
|
90
362
|
|
91
|
-
|
363
|
+
### Breaking changes
|
92
364
|
|
93
365
|
* Changed behavior of `Chewy::Index.index_name`, it doesn't cache the values anymore.
|
94
366
|
* Journal interfaces, related code and rake tasks were completely refactored and are not compatible with the previous version.
|
95
367
|
|
96
|
-
|
368
|
+
### Changes
|
97
369
|
|
98
370
|
* [#543](https://github.com/toptal/chewy/pull/543): Less noisy strategies logging ([@Borzik][])
|
99
371
|
* Parallel import and the corresponding rake tasks.
|
@@ -116,9 +388,9 @@
|
|
116
388
|
* [#467](https://github.com/toptal/chewy/pull/467): Bulk indexing optimizations with new additional options ([@eproulx-petalmd][])
|
117
389
|
* [#438](https://github.com/toptal/chewy/pull/438): Configurable sidekiq options ([@averell23][])
|
118
390
|
|
119
|
-
|
391
|
+
## 0.9.0
|
120
392
|
|
121
|
-
|
393
|
+
### Changes
|
122
394
|
|
123
395
|
* [#443](https://github.com/toptal/chewy/pull/443): Add `preference` param to Query ([@menglewis][])
|
124
396
|
* [#417](https://github.com/toptal/chewy/pull/417): Add the `track_scores` option to the query; `_score` to be computed and tracked even when there are no `_score` in sort. ([@dmitry][])
|
@@ -134,16 +406,16 @@
|
|
134
406
|
* Witchcraft™ supports dynamically generated procs with variables from closure.
|
135
407
|
* Added `Query#preference` for specifying shard replicas to query against. ([@menglewis][])
|
136
408
|
|
137
|
-
|
409
|
+
### Bugs Fixed
|
138
410
|
|
139
411
|
* [#415](https://github.com/toptal/chewy/pull/415): `.script_fields` method in the Index class ([@dmitry][])
|
140
412
|
* [#398](https://github.com/toptal/chewy/pull/398): Fix routing_missing_exception on delete with parent missing ([@guigs][])
|
141
413
|
* [#385](https://github.com/toptal/chewy/pull/385): Sequel custom primary keys handling fix ([@okliv][])
|
142
414
|
* [#374](https://github.com/toptal/chewy/pull/374): Bulk import fixes ([@0x0badc0de][])
|
143
415
|
|
144
|
-
|
416
|
+
## 0.8.4
|
145
417
|
|
146
|
-
|
418
|
+
### Changes
|
147
419
|
|
148
420
|
* Brand new import `:bulk_size` option, set desired ElasticSearch bulk size in bytes
|
149
421
|
* Witchcraft™ technology
|
@@ -159,7 +431,7 @@
|
|
159
431
|
* Accessing types with methods is deprecated. Use `MyIndex::MyType` constant reference instead of `MyIndex.my_type` method.
|
160
432
|
* [#294](https://github.com/toptal/chewy/pull/294): Sequel adapter improvements ([@mrbrdo][])
|
161
433
|
|
162
|
-
|
434
|
+
### Bugs Fixed
|
163
435
|
|
164
436
|
* [#325](https://github.com/toptal/chewy/pull/325): Mongoid atomic strategy fix
|
165
437
|
* [#324](https://github.com/toptal/chewy/pull/324): Method missing fix ([@jesjos][])
|
@@ -167,18 +439,18 @@
|
|
167
439
|
* [#306](https://github.com/toptal/chewy/pull/306): Better errors handling in strategies ([@barthez][])
|
168
440
|
* [#303](https://github.com/toptal/chewy/pull/303): Assets strategies silencer fix for Rails 5 API mode ([@clupprich][])
|
169
441
|
|
170
|
-
|
442
|
+
## 0.8.3
|
171
443
|
|
172
|
-
|
444
|
+
### Breaking changes:
|
173
445
|
|
174
446
|
* `Chewy.atomic` and `Chewy.urgent_update=` methods was removed from the codebase, use `Chewy.strategy` block instead.
|
175
447
|
* `delete_from_index?` hook is removed from the codebase.
|
176
448
|
|
177
|
-
|
449
|
+
### Changes
|
178
450
|
|
179
451
|
* Sequel support completely reworked to use common ORM implementations + better sequel specs covarage.
|
180
452
|
|
181
|
-
|
453
|
+
### Bugs Fixed
|
182
454
|
|
183
455
|
* Sequel objects transactional destruction fix
|
184
456
|
* Correct Rspec mocking framework checking ([@mainameiz][])
|
@@ -186,9 +458,9 @@
|
|
186
458
|
* Safe unsubscribe on import ([@marshall-lee][])
|
187
459
|
* Correct custom assets path silencer ([@davekaro][])
|
188
460
|
|
189
|
-
|
461
|
+
## 0.8.2
|
190
462
|
|
191
|
-
|
463
|
+
### Changes
|
192
464
|
|
193
465
|
* ActiveJob strategy by [@mkcode][]
|
194
466
|
* Async strategies tweak ([@AndreySavelyev][])
|
@@ -200,23 +472,23 @@
|
|
200
472
|
* Multiple grammar fixes ([@henrebotha][])
|
201
473
|
* Ability to pass a proc to `update_index` to define updating index dynamically ([@SeTeM][])
|
202
474
|
|
203
|
-
|
475
|
+
### Bugs Fixed
|
204
476
|
|
205
477
|
* Fixed transport logger and tracer configuration
|
206
478
|
|
207
|
-
|
479
|
+
## 0.8.1
|
208
480
|
|
209
|
-
|
481
|
+
### Bugs Fixed
|
210
482
|
|
211
483
|
* Added support of elasticsearch-ruby 1.0.10
|
212
484
|
|
213
|
-
|
485
|
+
## 0.8.0
|
214
486
|
|
215
|
-
|
487
|
+
### Breaking changes:
|
216
488
|
|
217
489
|
* `:atomic` and `:urgent` strategies are using `import!` method raising exceptions
|
218
490
|
|
219
|
-
|
491
|
+
### Changes
|
220
492
|
|
221
493
|
* Crutches™ technology
|
222
494
|
* Added `.script_fields` chainable method to query ([@ka8725][])
|
@@ -225,14 +497,14 @@
|
|
225
497
|
* `:sidekiq` async strategy (inspired by [@sharkzp][])
|
226
498
|
* Added `Query#search_type` for `search_type` request option setup ([@marshall-lee][])
|
227
499
|
|
228
|
-
|
500
|
+
### Bugs Fixed
|
229
501
|
|
230
502
|
* Rails 4.2 migrations are not raising UndefinedUpdateStrategy anymore on data updates
|
231
503
|
* Mongoid random failing specs fixes ([@marshall-lee][])
|
232
504
|
|
233
|
-
|
505
|
+
## 0.7.0
|
234
506
|
|
235
|
-
|
507
|
+
### Breaking changes:
|
236
508
|
|
237
509
|
* `Chewy.use_after_commit_callbacks = false` returns previous RDBMS behavior in tests
|
238
510
|
* ActiveRecord import is now called after_commit instead of after_save and after_destroy
|
@@ -265,7 +537,7 @@
|
|
265
537
|
end
|
266
538
|
```
|
267
539
|
|
268
|
-
|
540
|
+
### Changes
|
269
541
|
|
270
542
|
* Multiple enhancements by [@DNNX][]
|
271
543
|
* Added `script_fields` to search criteria ([@ka8725][])
|
@@ -306,61 +578,61 @@
|
|
306
578
|
```
|
307
579
|
* Implemented basic named scopes
|
308
580
|
|
309
|
-
|
581
|
+
### Bugs Fixed
|
310
582
|
|
311
583
|
* `script_score` allow options ([@joeljunstrom][])
|
312
584
|
* Chewy indexes eaged loading fixes ([@leemhenson][])
|
313
585
|
* `Chewy::Index.import nil` imports nothing instead of initial data
|
314
586
|
|
315
|
-
|
587
|
+
## 0.6.2
|
316
588
|
|
317
|
-
|
589
|
+
### Changes
|
318
590
|
|
319
591
|
* document root id custom value option ([@baronworks][])
|
320
592
|
|
321
|
-
|
593
|
+
### Bugs Fixed
|
322
594
|
|
323
595
|
* Removed decay function defaults ([@Linuus][])
|
324
596
|
* Correct config file handling in case of empty file
|
325
597
|
|
326
|
-
|
598
|
+
## 0.6.1
|
327
599
|
|
328
|
-
|
600
|
+
### Changes
|
329
601
|
|
330
602
|
* `min_score` query option support ([@jshirley][])
|
331
603
|
* `Chewy::Query#find` method for finding documents by id
|
332
604
|
|
333
|
-
|
605
|
+
## 0.6.0
|
334
606
|
|
335
|
-
|
607
|
+
### Changes
|
336
608
|
|
337
609
|
* Mongoid support YaY! ([@fabiotomio][], [@leemhenson][])
|
338
610
|
* `urgent: true` option for `update_index` is deprecated and will be removed soon, use `Chewy.atomic` instead
|
339
611
|
* `timeout` and `timed_out` support ([@MarkMurphy][])
|
340
612
|
* will_paginate support ([@josecoelho][])
|
341
613
|
|
342
|
-
|
614
|
+
### Bugs Fixed
|
343
615
|
|
344
616
|
* All the query chainable methods delegated to indexes and types (partially [@Linuus][])
|
345
617
|
|
346
|
-
|
618
|
+
## 0.5.2
|
347
619
|
|
348
|
-
|
620
|
+
### Breaking changes:
|
349
621
|
|
350
622
|
* `Chewy::Type::Base` removed in favour of using `Chewy::Type` as a base class for all types
|
351
623
|
|
352
|
-
|
624
|
+
### Changes
|
353
625
|
|
354
626
|
* `Chewy.massacre` aliased to `Chewy.delete_all` method deletes all the indexes with current prefix
|
355
627
|
|
356
|
-
|
628
|
+
### Bugs Fixed:
|
357
629
|
|
358
630
|
* Advanced type classes resolving ([@inbeom][])
|
359
631
|
* `import` ignores nil
|
360
632
|
|
361
|
-
|
633
|
+
## 0.5.1
|
362
634
|
|
363
|
-
|
635
|
+
### Changes:
|
364
636
|
|
365
637
|
* `chewy.yml` Rails generator ([@jirikolarik][])
|
366
638
|
* Parent-child mappings feature support ([@inbeom][])
|
@@ -370,20 +642,20 @@
|
|
370
642
|
* Rspec 3 `update_index` matcher support ([@jimmybaker][])
|
371
643
|
* Implemented function scoring ([@averell23][])
|
372
644
|
|
373
|
-
|
645
|
+
### Bugs Fixed:
|
374
646
|
|
375
647
|
* Indexed eager-loading fix ([@leemhenson][])
|
376
648
|
* Field type deriving nested type support fix ([@rschellhorn][])
|
377
649
|
|
378
|
-
|
650
|
+
## 0.5.0
|
379
651
|
|
380
|
-
|
652
|
+
### Breaking changes:
|
381
653
|
|
382
654
|
* 404 exception (IndexMissingException) while query is swallowed and treated like an empty result set.
|
383
655
|
* `load` and `preload` for queries became lazy. Might be partially incompatible.
|
384
656
|
* Changed mapping behavior: multi-fields are defined in conformity with ElasticSearch documentation (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/_multi_fields.html#_multi_fields)
|
385
657
|
|
386
|
-
|
658
|
+
### Changes:
|
387
659
|
|
388
660
|
* `suggest` query options support ([@rschellhorn][]).
|
389
661
|
* Added hash data support. How it is possible to pass hashes to import.
|
@@ -397,7 +669,7 @@
|
|
397
669
|
* `highlight` and `rescore` query options support.
|
398
670
|
* config/chewy.yml ERB support.
|
399
671
|
|
400
|
-
|
672
|
+
### Bugs Fixed:
|
401
673
|
|
402
674
|
* Fixed `missing` and `exists` filters DSL constructors.
|
403
675
|
* Reworked index data composing.
|
@@ -405,7 +677,7 @@
|
|
405
677
|
* Correct waiting for status. After index creation, bulk import, and deletion.
|
406
678
|
* [#23](https://github.com/toptal/chewy/pull/23): Fix "wrong constant name" with namespace models
|
407
679
|
|
408
|
-
|
680
|
+
## 0.4.0
|
409
681
|
|
410
682
|
* Changed `update_index` matcher behavior. Now it compare array attributes position-independently.
|
411
683
|
* Search aggregations API support ([@arion][]).
|
@@ -416,18 +688,18 @@
|
|
416
688
|
* `import` now creates index before performing.
|
417
689
|
* `Chewy.configuration[:wait_for_status]` option. Can be set to `red`, `yellow` or `green`. If set - chewy will wait for cluster status before creating, deleting index and import. Useful for specs.
|
418
690
|
|
419
|
-
|
691
|
+
## 0.3.0
|
420
692
|
|
421
693
|
* Added `Chewy.configuration[:index]` config to setup common indexes options.
|
422
694
|
* `Chewy.client_options` replaced with `Chewy.configuration`
|
423
695
|
* Using source filtering instead of fields filter (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-source-filtering.html).
|
424
696
|
|
425
|
-
|
697
|
+
## 0.2.3
|
426
698
|
|
427
699
|
* `.import!` indexes method, raises import errors.
|
428
700
|
* `.import!` types method, raises import errors. Useful for specs.
|
429
701
|
|
430
|
-
|
702
|
+
## 0.2.2
|
431
703
|
|
432
704
|
* Support for `none` scope ([@undr][]).
|
433
705
|
* Auto-resolved analyzers and analyzers repository ([@webgago][]):
|
@@ -443,7 +715,7 @@
|
|
443
715
|
```
|
444
716
|
`title_analyzer` here will be automatically resolved and passed to index mapping
|
445
717
|
|
446
|
-
|
718
|
+
## 0.2.0
|
447
719
|
|
448
720
|
* Reworked import error handling. Now all the import errors from ElasticSearch are handled properly, also import method returns true of false depending on the import process success.
|
449
721
|
* `Chewy::Index.import` now takes types hash as argument within options hash:
|
@@ -461,7 +733,7 @@
|
|
461
733
|
`CitiesIndex.all.load(scope: {city: -> { include(:country) }})`
|
462
734
|
`CitiesIndex.all.load(scope: ->{ include(:country) })`
|
463
735
|
|
464
|
-
|
736
|
+
## 0.1.0
|
465
737
|
|
466
738
|
* Added filters simplified DSL. See [filters.rb](lib/chewy/query/filters.rb) for more details.
|
467
739
|
* Queries and filters join system reworked. See [query.rb](lib/chewy/query.rb) for more details.
|
@@ -498,16 +770,18 @@
|
|
498
770
|
* Implemented isolated adapters to simplify adding new ORMs
|
499
771
|
* Query DLS chainable methods delegated to index class (no longer need to call MyIndex.search.query, just MyIndex.query)
|
500
772
|
|
501
|
-
|
773
|
+
## 0.0.1
|
502
774
|
|
503
775
|
* Query DSL
|
504
776
|
* Basic index handling
|
505
777
|
* Initial version
|
506
778
|
|
507
779
|
[@0x0badc0de]: https://github.com/0x0badc0de
|
780
|
+
[@AgeevAndrew]: https://github.com/AgeevAndrew
|
508
781
|
[@aglushkov]: https://github.com/aglushkov
|
509
782
|
[@AlexVPopov]: https://github.com/AlexVPopov
|
510
783
|
[@AndreySavelyev]: https://github.com/AndreySavelyev
|
784
|
+
[@afg419]: https://github.com/afg419
|
511
785
|
[@arion]: https://github.com/arion
|
512
786
|
[@arturtr]: https://github.com/arturtr
|
513
787
|
[@averell23]: https://github.com/averell23
|
@@ -518,6 +792,7 @@
|
|
518
792
|
[@biow0lf]: https://github.com/biow0lf
|
519
793
|
[@Borzik]: https://github.com/Borzik
|
520
794
|
[@caldwecr]: https://github.com/caldwecr
|
795
|
+
[@chrisandreae]: https://github.com/chrisandreae
|
521
796
|
[@clupprich]: https://github.com/clupprich
|
522
797
|
[@dalthon]: https://github.com/dalthon
|
523
798
|
[@davekaro]: https://github.com/davekaro
|
@@ -537,9 +812,11 @@
|
|
537
812
|
[@inbeom]: https://github.com/inbeom
|
538
813
|
[@jesjos]: https://github.com/jesjos
|
539
814
|
[@JF-Lalonde]: https://github.com/JF-Lalonde
|
815
|
+
[@jiajiawang]: https://github.com/jiajiawang
|
540
816
|
[@jimmybaker]: https://github.com/jimmybaker
|
541
817
|
[@jirikolarik]: https://github.com/jirikolarik
|
542
818
|
[@jirutka]: https://github.com/jirutka
|
819
|
+
[@jkostolansky]: https://github.com/jkostolansky
|
543
820
|
[@joeljunstrom]: https://github.com/joeljunstrom
|
544
821
|
[@jondavidford]: https://github.com/jondavidford
|
545
822
|
[@joonty]: https://github.com/joonty
|
@@ -547,6 +824,7 @@
|
|
547
824
|
[@josephchoe]: https://github.com/josephchoe
|
548
825
|
[@jshirley]: https://github.com/jshirley
|
549
826
|
[@ka8725]: https://github.com/ka8725
|
827
|
+
[@kolauren]: https://github.com/kolauren
|
550
828
|
[@konalegi]: https://github.com/konalegi
|
551
829
|
[@lardawge]: https://github.com/lardawge
|
552
830
|
[@leemhenson]: https://github.com/leemhenson
|
@@ -560,6 +838,7 @@
|
|
560
838
|
[@mattzollinhofer]: https://github.com/mattzollinhofer
|
561
839
|
[@menglewis]: https://github.com/menglewis
|
562
840
|
[@mikeyhogarth]: https://github.com/mikeyhogarth
|
841
|
+
[@milk1000cc]: https://github.com/milk1000cc
|
563
842
|
[@mkcode]: https://github.com/mkcode
|
564
843
|
[@mpeychich]: https://github.com/mpeychich
|
565
844
|
[@mrbrdo]: https://github.com/mrbrdo
|
@@ -584,5 +863,6 @@
|
|
584
863
|
[@taylor-au]: https://github.com/taylor-au
|
585
864
|
[@TikiTDO]: https://github.com/TikiTDO
|
586
865
|
[@undr]: https://github.com/undr
|
866
|
+
[@Vitalina-Vakulchyk]: https://github.com/Vitalina-Vakulchyk
|
587
867
|
[@webgago]: https://github.com/webgago
|
588
868
|
[@yahooguntu]: https://github.com/yahooguntu
|