searchkick 2.3.2 → 5.2.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 +5 -5
- data/CHANGELOG.md +377 -84
- data/LICENSE.txt +1 -1
- data/README.md +859 -602
- data/lib/searchkick/bulk_reindex_job.rb +13 -9
- data/lib/searchkick/controller_runtime.rb +40 -0
- data/lib/searchkick/hash_wrapper.rb +12 -0
- data/lib/searchkick/index.rb +281 -356
- data/lib/searchkick/index_cache.rb +30 -0
- data/lib/searchkick/index_options.rb +487 -281
- data/lib/searchkick/indexer.rb +15 -8
- data/lib/searchkick/log_subscriber.rb +57 -0
- data/lib/searchkick/middleware.rb +9 -2
- data/lib/searchkick/model.rb +72 -118
- data/lib/searchkick/multi_search.rb +9 -10
- data/lib/searchkick/process_batch_job.rb +12 -15
- data/lib/searchkick/process_queue_job.rb +22 -13
- data/lib/searchkick/query.rb +458 -217
- data/lib/searchkick/railtie.rb +7 -0
- data/lib/searchkick/record_data.rb +128 -0
- data/lib/searchkick/record_indexer.rb +164 -0
- data/lib/searchkick/reindex_queue.rb +51 -9
- data/lib/searchkick/reindex_v2_job.rb +10 -32
- data/lib/searchkick/relation.rb +247 -0
- data/lib/searchkick/relation_indexer.rb +155 -0
- data/lib/searchkick/results.rb +201 -82
- data/lib/searchkick/version.rb +1 -1
- data/lib/searchkick/where.rb +11 -0
- data/lib/searchkick.rb +269 -97
- data/lib/tasks/searchkick.rake +37 -0
- metadata +24 -178
- data/.gitignore +0 -22
- data/.travis.yml +0 -39
- data/Gemfile +0 -16
- data/Rakefile +0 -20
- data/benchmark/Gemfile +0 -23
- data/benchmark/benchmark.rb +0 -97
- data/lib/searchkick/logging.rb +0 -242
- data/lib/searchkick/tasks.rb +0 -33
- data/searchkick.gemspec +0 -28
- data/test/aggs_test.rb +0 -197
- data/test/autocomplete_test.rb +0 -75
- data/test/boost_test.rb +0 -202
- data/test/callbacks_test.rb +0 -59
- data/test/ci/before_install.sh +0 -17
- data/test/errors_test.rb +0 -19
- data/test/gemfiles/activerecord31.gemfile +0 -7
- data/test/gemfiles/activerecord32.gemfile +0 -7
- data/test/gemfiles/activerecord40.gemfile +0 -8
- data/test/gemfiles/activerecord41.gemfile +0 -8
- data/test/gemfiles/activerecord42.gemfile +0 -7
- data/test/gemfiles/activerecord50.gemfile +0 -7
- data/test/gemfiles/apartment.gemfile +0 -8
- data/test/gemfiles/cequel.gemfile +0 -8
- data/test/gemfiles/mongoid2.gemfile +0 -7
- data/test/gemfiles/mongoid3.gemfile +0 -6
- data/test/gemfiles/mongoid4.gemfile +0 -7
- data/test/gemfiles/mongoid5.gemfile +0 -7
- data/test/gemfiles/mongoid6.gemfile +0 -12
- data/test/gemfiles/nobrainer.gemfile +0 -8
- data/test/gemfiles/parallel_tests.gemfile +0 -8
- data/test/geo_shape_test.rb +0 -175
- data/test/highlight_test.rb +0 -78
- data/test/index_test.rb +0 -166
- data/test/inheritance_test.rb +0 -83
- data/test/marshal_test.rb +0 -8
- data/test/match_test.rb +0 -276
- data/test/misspellings_test.rb +0 -56
- data/test/model_test.rb +0 -42
- data/test/multi_search_test.rb +0 -36
- data/test/multi_tenancy_test.rb +0 -22
- data/test/order_test.rb +0 -46
- data/test/pagination_test.rb +0 -70
- data/test/partial_reindex_test.rb +0 -58
- data/test/query_test.rb +0 -35
- data/test/records_test.rb +0 -10
- data/test/reindex_test.rb +0 -64
- data/test/reindex_v2_job_test.rb +0 -32
- data/test/routing_test.rb +0 -23
- data/test/should_index_test.rb +0 -32
- data/test/similar_test.rb +0 -28
- data/test/sql_test.rb +0 -214
- data/test/suggest_test.rb +0 -95
- data/test/support/kaminari.yml +0 -21
- data/test/synonyms_test.rb +0 -67
- data/test/test_helper.rb +0 -567
- data/test/where_test.rb +0 -223
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,297 @@
|
|
1
|
-
## 2.
|
1
|
+
## 5.2.1 (2023-02-21)
|
2
|
+
|
3
|
+
- Added support for `redis-client` gem
|
4
|
+
|
5
|
+
## 5.2.0 (2023-02-08)
|
6
|
+
|
7
|
+
- Added model name to warning about missing records
|
8
|
+
- Fixed unnecessary data loading when reindexing relations with `:async` and `:queue` modes
|
9
|
+
|
10
|
+
## 5.1.2 (2023-01-29)
|
11
|
+
|
12
|
+
- Fixed error with missing point in time
|
13
|
+
|
14
|
+
## 5.1.1 (2022-12-05)
|
15
|
+
|
16
|
+
- Added support for strings for `offset` and `per_page`
|
17
|
+
|
18
|
+
## 5.1.0 (2022-10-12)
|
19
|
+
|
20
|
+
- Added support for fractional search timeout
|
21
|
+
- Fixed search timeout with `elasticsearch` 8+ and `opensearch-ruby` gems
|
22
|
+
- Fixed search timeout not applying to `multi_search`
|
23
|
+
|
24
|
+
## 5.0.5 (2022-10-09)
|
25
|
+
|
26
|
+
- Added `model` method to `Searchkick::Relation`
|
27
|
+
- Fixed deprecation warning with `redis` gem
|
28
|
+
- Fixed `respond_to?` method on relation loading relation
|
29
|
+
- Fixed `Relation loaded` error for non-mutating methods on relation
|
30
|
+
|
31
|
+
## 5.0.4 (2022-06-16)
|
32
|
+
|
33
|
+
- Added `max_result_window` option
|
34
|
+
- Improved error message for unsupported versions of Elasticsearch
|
35
|
+
|
36
|
+
## 5.0.3 (2022-03-13)
|
37
|
+
|
38
|
+
- Fixed context for index name for inherited models
|
39
|
+
|
40
|
+
## 5.0.2 (2022-03-03)
|
41
|
+
|
42
|
+
- Fixed index name for inherited models
|
43
|
+
|
44
|
+
## 5.0.1 (2022-02-27)
|
45
|
+
|
46
|
+
- Prefer `mode: :async` over `async: true` for full reindex
|
47
|
+
- Fixed instance method overriding with concerns
|
48
|
+
|
49
|
+
## 5.0.0 (2022-02-21)
|
50
|
+
|
51
|
+
- Searches now use lazy loading (similar to Active Record)
|
52
|
+
- Added `unscope` option to better support working with default scopes
|
53
|
+
- Added support for `:async` and `:queue` modes for `reindex` on relation
|
54
|
+
- Added basic protection from unfiltered parameters to `where` option
|
55
|
+
- Added `models` option to `similar` method
|
56
|
+
- Changed async full reindex to fetch ids instead of using ranges for numeric primary keys with Active Record
|
57
|
+
- Changed `searchkick_index_options` to return symbol keys (instead of mix of strings and symbols)
|
58
|
+
- Changed non-anchored regular expressions to match expected results (previously warned)
|
59
|
+
- Changed record reindex to return `true` to match model and relation reindex
|
60
|
+
- Updated async reindex job to call `search_import` for nested associations
|
61
|
+
- Fixed removing records when `should_index?` is `false` when `reindex` called on relation
|
62
|
+
- Fixed issue with `merge_mappings` for fields that use `searchkick` options
|
63
|
+
- Raise error when `search` called on relations
|
64
|
+
- Raise `ArgumentError` (instead of warning) for invalid regular expression modifiers
|
65
|
+
- Raise `ArgumentError` instead of `RuntimeError` for unknown operators
|
66
|
+
- Removed mapping of `id` to `_id` with `order` option (not supported in Elasticsearch 8)
|
67
|
+
- Removed `wordnet` option (no longer worked)
|
68
|
+
- Removed dependency on `elasticsearch` gem (can use `elasticsearch` or `opensearch-ruby`)
|
69
|
+
- Dropped support for Elasticsearch 6
|
70
|
+
- Dropped support for Ruby < 2.6 and Active Record < 5.2
|
71
|
+
- Dropped support for NoBrainer and Cequel
|
72
|
+
- Dropped support for `faraday_middleware-aws-signers-v4` (use `faraday_middleware-aws-sigv4` instead)
|
73
|
+
|
74
|
+
## 4.6.3 (2021-11-19)
|
75
|
+
|
76
|
+
- Added support for reloadable synonyms for OpenSearch
|
77
|
+
- Added experimental support for `opensearch-ruby` gem
|
78
|
+
- Removed `elasticsearch-xpack` dependency for reloadable synonyms
|
79
|
+
|
80
|
+
## 4.6.2 (2021-11-15)
|
81
|
+
|
82
|
+
- Added support for beginless ranges to `where` option
|
83
|
+
- Fixed `like` and `ilike` with `+` character
|
84
|
+
- Fixed warning about accessing system indices when no model or index specified
|
85
|
+
|
86
|
+
## 4.6.1 (2021-09-25)
|
87
|
+
|
88
|
+
- Added `ilike` operator for Elasticsearch 7.10+
|
89
|
+
- Fixed missing methods with `multi_search`
|
90
|
+
|
91
|
+
## 4.6.0 (2021-08-22)
|
92
|
+
|
93
|
+
- Added support for case-insensitive regular expressions with Elasticsearch 7.10+
|
94
|
+
- Added support for `OPENSEARCH_URL`
|
95
|
+
- Fixed error with `debug` option
|
96
|
+
|
97
|
+
## 4.5.2 (2021-08-05)
|
98
|
+
|
99
|
+
- Fixed error with reindex queue
|
100
|
+
- Fixed error with `model_name` method with multiple models
|
101
|
+
- Fixed error with `debug` option with elasticsearch-ruby 7.14
|
102
|
+
|
103
|
+
## 4.5.1 (2021-08-03)
|
104
|
+
|
105
|
+
- Improved performance of reindex queue
|
106
|
+
|
107
|
+
## 4.5.0 (2021-06-07)
|
108
|
+
|
109
|
+
- Added experimental support for OpenSearch
|
110
|
+
- Added support for synonyms in Japanese
|
111
|
+
|
112
|
+
## 4.4.4 (2021-03-12)
|
113
|
+
|
114
|
+
- Fixed `too_long_frame_exception` with `scroll` method
|
115
|
+
- Fixed multi-word emoji tokenization
|
116
|
+
|
117
|
+
## 4.4.3 (2021-02-25)
|
118
|
+
|
119
|
+
- Added support for Hunspell
|
120
|
+
- Fixed warning about accessing system indices
|
121
|
+
|
122
|
+
## 4.4.2 (2020-11-23)
|
123
|
+
|
124
|
+
- Added `missing_records` method to results
|
125
|
+
- Fixed issue with `like` and special characters
|
126
|
+
|
127
|
+
## 4.4.1 (2020-06-24)
|
128
|
+
|
129
|
+
- Added `stem_exclusion` and `stemmer_override` options
|
130
|
+
- Added `with_score` method to search results
|
131
|
+
- Improved error message for `reload_synonyms` with non-OSS version of Elasticsearch
|
132
|
+
- Improved output for reindex rake task
|
133
|
+
|
134
|
+
## 4.4.0 (2020-06-17)
|
135
|
+
|
136
|
+
- Added support for reloadable, multi-word, search time synonyms
|
137
|
+
- Fixed another deprecation warning in Ruby 2.7
|
138
|
+
|
139
|
+
## 4.3.1 (2020-05-13)
|
140
|
+
|
141
|
+
- Fixed error with `exclude` in certain cases for Elasticsearch 7.7
|
142
|
+
|
143
|
+
## 4.3.0 (2020-02-19)
|
144
|
+
|
145
|
+
- Fixed `like` queries with `"` character
|
146
|
+
- Better error when invalid parameters passed to `where`
|
147
|
+
|
148
|
+
## 4.2.1 (2020-01-27)
|
149
|
+
|
150
|
+
- Fixed deprecation warnings with Elasticsearch
|
151
|
+
- Fixed deprecation warnings in Ruby 2.7
|
152
|
+
|
153
|
+
## 4.2.0 (2019-12-18)
|
154
|
+
|
155
|
+
- Added safety check for multiple `Model.reindex`
|
156
|
+
- Added `deep_paging` option
|
157
|
+
- Added request parameters to search notifications and curl representation
|
158
|
+
- Removed curl from search notifications to prevent confusion
|
159
|
+
|
160
|
+
## 4.1.1 (2019-11-19)
|
161
|
+
|
162
|
+
- Added `chinese2` and `korean2` languages
|
163
|
+
- Improved performance of async full reindex
|
164
|
+
- Fixed `searchkick:reindex:all` rake task for Rails 6
|
165
|
+
|
166
|
+
## 4.1.0 (2019-08-01)
|
167
|
+
|
168
|
+
- Added `like` operator
|
169
|
+
- Added `exists` operator
|
170
|
+
- Added warnings for certain regular expressions
|
171
|
+
- Fixed anchored regular expressions
|
172
|
+
|
173
|
+
## 4.0.2 (2019-06-04)
|
174
|
+
|
175
|
+
- Added block form of `scroll`
|
176
|
+
- Added `clear_scroll` method
|
177
|
+
- Fixed custom mappings
|
178
|
+
|
179
|
+
## 4.0.1 (2019-05-30)
|
180
|
+
|
181
|
+
- Added support for scroll API
|
182
|
+
- Made type optional for custom mapping for Elasticsearch 6
|
183
|
+
- Fixed error when suggestions empty
|
184
|
+
- Fixed `models` option with inheritance
|
185
|
+
|
186
|
+
## 4.0.0 (2019-04-11)
|
187
|
+
|
188
|
+
- Added support for Elasticsearch 7
|
189
|
+
- Added `models` option
|
190
|
+
|
191
|
+
Breaking changes
|
192
|
+
|
193
|
+
- Removed support for Elasticsearch 5
|
194
|
+
- Removed support for multi-word synonyms (they no longer work with shingles)
|
195
|
+
- Removed support for Active Record < 5
|
196
|
+
|
197
|
+
## 3.1.3 (2019-04-11)
|
198
|
+
|
199
|
+
- Added support for endless ranges
|
200
|
+
- Added support for routing to `similar` method
|
201
|
+
- Added `prefix` to `where`
|
202
|
+
- Fixed error with elasticsearch-ruby 6.3
|
203
|
+
- Fixed error with some language stemmers and Elasticsearch 6.5
|
204
|
+
- Fixed issue with misspellings below and body block
|
205
|
+
|
206
|
+
## 3.1.2 (2018-09-27)
|
207
|
+
|
208
|
+
- Improved performance of indices boost
|
209
|
+
- Fixed deletes with routing and `async` callbacks
|
210
|
+
- Fixed deletes with routing and `queue` callbacks
|
211
|
+
- Fixed deprecation warnings
|
212
|
+
- Fixed field misspellings for older partial match format
|
213
|
+
|
214
|
+
## 3.1.1 (2018-08-09)
|
215
|
+
|
216
|
+
- Added per-field misspellings
|
217
|
+
- Added `case_sensitive` option
|
218
|
+
- Added `stem` option
|
219
|
+
- Added `total_entries` option
|
220
|
+
- Fixed `exclude` option with match all
|
221
|
+
- Fixed `with_highlights` method
|
222
|
+
|
223
|
+
## 3.1.0 (2018-05-12)
|
224
|
+
|
225
|
+
- Added `:inline` as alias for `true` for `callbacks` and `mode` options
|
226
|
+
- Friendlier error message for bad mapping with partial matches
|
227
|
+
- Warn when records in search index do not exist in database
|
228
|
+
- Easier merging for `merge_mapping`
|
229
|
+
- Fixed `with_hit` and `with_highlights` when records in search index do not exist in database
|
230
|
+
- Fixed error with highlights and match all
|
231
|
+
|
232
|
+
## 3.0.3 (2018-04-22)
|
233
|
+
|
234
|
+
- Added support for pagination with `body` option
|
235
|
+
- Added `boost_by_recency` option
|
236
|
+
- Fixed "Model Search Data" output for `debug` option
|
237
|
+
- Fixed `reindex_status` error
|
238
|
+
- Fixed error with optional operators in Ruby regexp
|
239
|
+
- Fixed deprecation warnings for Elasticsearch 6.2+
|
240
|
+
|
241
|
+
## 3.0.2 (2018-03-26)
|
242
|
+
|
243
|
+
- Added support for Korean and Vietnamese
|
244
|
+
- Fixed `Unsupported argument type: Symbol` for async partial reindex
|
245
|
+
- Fixed infinite recursion with multi search and misspellings below
|
246
|
+
- Do not raise an error when `id` is indexed
|
247
|
+
|
248
|
+
## 3.0.1 (2018-03-14)
|
249
|
+
|
250
|
+
- Added `scope` option for partial reindex
|
251
|
+
- Added support for Japanese, Polish, and Ukrainian
|
252
|
+
|
253
|
+
## 3.0.0 (2018-03-03)
|
254
|
+
|
255
|
+
- Added support for Chinese
|
256
|
+
- No longer requires fields to query for Elasticsearch 6
|
257
|
+
- Results can be marshaled by default (unless using `highlight` option)
|
258
|
+
|
259
|
+
Breaking changes
|
260
|
+
|
261
|
+
- Removed support for Elasticsearch 2
|
262
|
+
- Removed support for Active Record < 4.2 and Mongoid < 5
|
263
|
+
- Types are no longer used
|
264
|
+
- The `_all` field is disabled by default in Elasticsearch 5
|
265
|
+
- Conversions are not stemmed by default
|
266
|
+
- An `ArgumentError` is raised instead of a warning when options are incompatible with the `body` option
|
267
|
+
- Removed `log` option from `boost_by`
|
268
|
+
- Removed `Model.enable_search_callbacks`, `Model.disable_search_callbacks`, and `Model.search_callbacks?`
|
269
|
+
- Removed `reindex_async` method, as `reindex` now defaults to callbacks mode specified on the model
|
270
|
+
- Removed `async` option from `record.reindex`
|
271
|
+
- Removed `search_hit` method - use `with_hit` instead
|
272
|
+
- Removed `each_with_hit` - use `with_hit.each` instead
|
273
|
+
- Removed `with_details` - use `with_highlights` instead
|
274
|
+
- Bumped default `limit` to 10,000
|
275
|
+
|
276
|
+
## 2.5.0 (2018-02-15)
|
277
|
+
|
278
|
+
- Try requests 3 times before raising error
|
279
|
+
- Better exception when trying to access results for failed multi-search query
|
280
|
+
- More efficient aggregations with `where` clauses
|
281
|
+
- Added support for `faraday_middleware-aws-sigv4`
|
282
|
+
- Added `credentials` option to `aws_credentials`
|
283
|
+
- Added `modifier` option to `boost_by`
|
284
|
+
- Added `scope_results` option
|
285
|
+
- Added `factor` option to `boost_by_distance`
|
286
|
+
|
287
|
+
## 2.4.0 (2017-11-14)
|
288
|
+
|
289
|
+
- Fixed `similar` for Elasticsearch 6
|
290
|
+
- Added `inheritance` option
|
291
|
+
- Added `_type` option
|
292
|
+
- Fixed `Must specify fields to search` error when searching `*`
|
293
|
+
|
294
|
+
## 2.3.2 (2017-09-08)
|
2
295
|
|
3
296
|
- Added `_all` and `default_fields` options
|
4
297
|
- Added global `index_prefix` option
|
@@ -10,14 +303,14 @@
|
|
10
303
|
- Fixed bug where `routing` and `type` options were silently ignored with `body` option
|
11
304
|
- Fixed `reindex(async: true)` for non-numeric primary keys in Postgres
|
12
305
|
|
13
|
-
## 2.3.1
|
306
|
+
## 2.3.1 (2017-07-06)
|
14
307
|
|
15
308
|
- Added support for `reindex(async: true)` for non-numeric primary keys
|
16
309
|
- Added `conversions_term` option
|
17
310
|
- Added support for passing fields to `suggest` option
|
18
311
|
- Fixed `page_view_entries` for Kaminari
|
19
312
|
|
20
|
-
## 2.3.0
|
313
|
+
## 2.3.0 (2017-05-06)
|
21
314
|
|
22
315
|
- Fixed analyzer on dynamically mapped fields
|
23
316
|
- Fixed error with `similar` method and `_all` field
|
@@ -25,54 +318,54 @@
|
|
25
318
|
- Added `queue_name` option
|
26
319
|
- No longer require synonyms to be lowercase
|
27
320
|
|
28
|
-
## 2.2.1
|
321
|
+
## 2.2.1 (2017-04-16)
|
29
322
|
|
30
323
|
- Added `avg`, `cardinality`, `max`, `min`, and `sum` aggregations
|
31
324
|
- Added `load: {dumpable: true}` option
|
32
325
|
- Added `index_suffix` option
|
33
326
|
- Accept string for `exclude` option
|
34
327
|
|
35
|
-
## 2.2.0
|
328
|
+
## 2.2.0 (2017-03-19)
|
36
329
|
|
37
330
|
- Fixed bug with text values longer than 256 characters and `_all` field - see [#850](https://github.com/ankane/searchkick/issues/850)
|
38
331
|
- Fixed issue with `_all` field in `searchable`
|
39
332
|
- Fixed `exclude` option with `word_start`
|
40
333
|
|
41
|
-
## 2.1.1
|
334
|
+
## 2.1.1 (2017-01-17)
|
42
335
|
|
43
336
|
- Fixed duplicate notifications
|
44
337
|
- Added support for `connection_pool`
|
45
338
|
- Added `exclude` option
|
46
339
|
|
47
|
-
## 2.1.0
|
340
|
+
## 2.1.0 (2017-01-15)
|
48
341
|
|
49
342
|
- Background reindexing and queues are officially supported
|
50
343
|
- Log updates and deletes
|
51
344
|
|
52
|
-
## 2.0.4
|
345
|
+
## 2.0.4 (2017-01-15)
|
53
346
|
|
54
347
|
- Added support for queuing updates [experimental]
|
55
348
|
- Added `refresh_interval` option to `reindex`
|
56
349
|
- Prefer `search_index` over `searchkick_index`
|
57
350
|
|
58
|
-
## 2.0.3
|
351
|
+
## 2.0.3 (2017-01-12)
|
59
352
|
|
60
353
|
- Added `async` option to `reindex` [experimental]
|
61
354
|
- Added `misspellings?` method to results
|
62
355
|
|
63
|
-
## 2.0.2
|
356
|
+
## 2.0.2 (2017-01-08)
|
64
357
|
|
65
358
|
- Added `retain` option to `reindex`
|
66
359
|
- Added support for attributes in highlight tags
|
67
360
|
- Fixed potentially silent errors in reindex job
|
68
361
|
- Improved syntax for `boost_by_distance`
|
69
362
|
|
70
|
-
## 2.0.1
|
363
|
+
## 2.0.1 (2016-12-30)
|
71
364
|
|
72
365
|
- Added `search_hit` and `search_highlights` methods to models
|
73
366
|
- Improved reindex performance
|
74
367
|
|
75
|
-
## 2.0.0
|
368
|
+
## 2.0.0 (2016-12-28)
|
76
369
|
|
77
370
|
- Added support for `reindex` on associations
|
78
371
|
|
@@ -91,75 +384,75 @@ Breaking changes
|
|
91
384
|
- The `unsearchable` and `only_analyzed` options have been removed in favor of `searchable` and `filterable`
|
92
385
|
- `load: false` no longer returns an array in Elasticsearch 2
|
93
386
|
|
94
|
-
## 1.5.1
|
387
|
+
## 1.5.1 (2016-12-28)
|
95
388
|
|
96
389
|
- Added `client_options`
|
97
390
|
- Added `refresh` option to `reindex` method
|
98
391
|
- Improved syntax for partial reindex
|
99
392
|
|
100
|
-
## 1.5.0
|
393
|
+
## 1.5.0 (2016-12-23)
|
101
394
|
|
102
395
|
- Added support for geo shape indexing and queries
|
103
396
|
- Added `_and`, `_or`, `_not` to `where` option
|
104
397
|
|
105
|
-
## 1.4.2
|
398
|
+
## 1.4.2 (2016-12-21)
|
106
399
|
|
107
400
|
- Added support for directional synonyms
|
108
401
|
- Easier AWS setup
|
109
402
|
- Fixed `total_docs` method for ES 5+
|
110
403
|
- Fixed exception on update errors
|
111
404
|
|
112
|
-
## 1.4.1
|
405
|
+
## 1.4.1 (2016-12-11)
|
113
406
|
|
114
407
|
- Added `partial_reindex` method
|
115
408
|
- Added `debug` option to `search` method
|
116
409
|
- Added `profile` option
|
117
410
|
|
118
|
-
## 1.4.0
|
411
|
+
## 1.4.0 (2016-10-26)
|
119
412
|
|
120
413
|
- Official support for Elasticsearch 5
|
121
414
|
- Boost exact matches for partial matching
|
122
415
|
- Added `searchkick_debug` method
|
123
416
|
- Added `geo_polygon` filter
|
124
417
|
|
125
|
-
## 1.3.6
|
418
|
+
## 1.3.6 (2016-10-08)
|
126
419
|
|
127
420
|
- Fixed `Job adapter not found` error
|
128
421
|
|
129
|
-
## 1.3.5
|
422
|
+
## 1.3.5 (2016-09-27)
|
130
423
|
|
131
424
|
- Added support for Elasticsearch 5.0 beta
|
132
425
|
- Added `request_params` option
|
133
426
|
- Added `filterable` option
|
134
427
|
|
135
|
-
## 1.3.4
|
428
|
+
## 1.3.4 (2016-08-23)
|
136
429
|
|
137
430
|
- Added `resume` option to reindex
|
138
431
|
- Added search timeout to payload
|
139
432
|
|
140
|
-
## 1.3.3
|
433
|
+
## 1.3.3 (2016-08-02)
|
141
434
|
|
142
435
|
- Fix for namespaced models (broken in 1.3.2)
|
143
436
|
|
144
|
-
## 1.3.2
|
437
|
+
## 1.3.2 (2016-08-01)
|
145
438
|
|
146
439
|
- Added `body_options` option
|
147
440
|
- Added `date_histogram` aggregation
|
148
441
|
- Added `indices_boost` option
|
149
442
|
- Added support for multiple conversions
|
150
443
|
|
151
|
-
## 1.3.1
|
444
|
+
## 1.3.1 (2016-07-10)
|
152
445
|
|
153
446
|
- Fixed error with Ruby 2.0
|
154
447
|
- Fixed error with indexing large fields
|
155
448
|
|
156
|
-
## 1.3.0
|
449
|
+
## 1.3.0 (2016-05-04)
|
157
450
|
|
158
451
|
- Added support for Elasticsearch 5.0 alpha
|
159
452
|
- Added support for phrase matches
|
160
453
|
- Added support for procs for `index_prefix` option
|
161
454
|
|
162
|
-
## 1.2.1
|
455
|
+
## 1.2.1 (2016-02-15)
|
163
456
|
|
164
457
|
- Added `multi_search` method
|
165
458
|
- Added support for routing for Elasticsearch 2
|
@@ -167,7 +460,7 @@ Breaking changes
|
|
167
460
|
- Fixed error with instrumentation for searching multiple models
|
168
461
|
- Fixed instrumentation for bulk updates
|
169
462
|
|
170
|
-
## 1.2.0
|
463
|
+
## 1.2.0 (2016-02-03)
|
171
464
|
|
172
465
|
- Fixed deprecation warnings with `alias_method_chain`
|
173
466
|
- Added `analyzed_only` option for large text fields
|
@@ -175,18 +468,18 @@ Breaking changes
|
|
175
468
|
- Fixed issue in `similar` method with `per_page` option
|
176
469
|
- Added basic support for multiple models
|
177
470
|
|
178
|
-
## 1.1.2
|
471
|
+
## 1.1.2 (2015-12-18)
|
179
472
|
|
180
473
|
- Added bulk updates with `callbacks` method
|
181
474
|
- Added `bulk_delete` method
|
182
475
|
- Added `search_timeout` option
|
183
476
|
- Fixed bug with new location format for `boost_by_distance`
|
184
477
|
|
185
|
-
## 1.1.1
|
478
|
+
## 1.1.1 (2015-12-14)
|
186
479
|
|
187
480
|
- Added support for `{lat: lat, lon: lon}` as preferred format for locations
|
188
481
|
|
189
|
-
## 1.1.0
|
482
|
+
## 1.1.0 (2015-12-08)
|
190
483
|
|
191
484
|
- Added `below` option to misspellings to improve performance
|
192
485
|
- Fixed synonyms for `word_*` partial matches
|
@@ -196,25 +489,25 @@ Breaking changes
|
|
196
489
|
- Added `word` option
|
197
490
|
- Added highlighted fields to `load: false`
|
198
491
|
|
199
|
-
## 1.0.3
|
492
|
+
## 1.0.3 (2015-11-27)
|
200
493
|
|
201
494
|
- Added support for Elasticsearch 2.1
|
202
495
|
|
203
|
-
## 1.0.2
|
496
|
+
## 1.0.2 (2015-11-15)
|
204
497
|
|
205
498
|
- Throw `Searchkick::ImportError` for errors when importing records
|
206
499
|
- Errors now inherit from `Searchkick::Error`
|
207
500
|
- Added `order` option to aggregations
|
208
501
|
- Added `mapping` method
|
209
502
|
|
210
|
-
## 1.0.1
|
503
|
+
## 1.0.1 (2015-11-05)
|
211
504
|
|
212
505
|
- Added aggregations method to get raw response
|
213
506
|
- Use `execute: false` for lazy loading
|
214
507
|
- Return nil when no aggs
|
215
508
|
- Added emoji search
|
216
509
|
|
217
|
-
## 1.0.0
|
510
|
+
## 1.0.0 (2015-10-30)
|
218
511
|
|
219
512
|
- Added support for Elasticsearch 2.0
|
220
513
|
- Added support for aggregations
|
@@ -228,7 +521,7 @@ Breaking changes
|
|
228
521
|
- Enabled misspellings by default for partial matches
|
229
522
|
- Enabled transpositions by default for misspellings
|
230
523
|
|
231
|
-
## 0.9.1
|
524
|
+
## 0.9.1 (2015-08-31)
|
232
525
|
|
233
526
|
- `and` now matches `&`
|
234
527
|
- Added `transpositions` option to misspellings
|
@@ -236,18 +529,18 @@ Breaking changes
|
|
236
529
|
- Added `prefix_length` option to `misspellings`
|
237
530
|
- Added ability to set env
|
238
531
|
|
239
|
-
## 0.9.0
|
532
|
+
## 0.9.0 (2015-06-07)
|
240
533
|
|
241
534
|
- Much better performance for where queries if no facets
|
242
535
|
- Added basic support for regex
|
243
536
|
- Added support for routing
|
244
537
|
- Made `Searchkick.disable_callbacks` thread-safe
|
245
538
|
|
246
|
-
## 0.8.7
|
539
|
+
## 0.8.7 (2015-02-14)
|
247
540
|
|
248
541
|
- Fixed Mongoid import
|
249
542
|
|
250
|
-
## 0.8.6
|
543
|
+
## 0.8.6 (2015-02-10)
|
251
544
|
|
252
545
|
- Added support for NoBrainer
|
253
546
|
- Added `stem_conversions: false` option
|
@@ -256,26 +549,26 @@ Breaking changes
|
|
256
549
|
- Fixed suggestions with partial match boost
|
257
550
|
- Fixed redefining existing instance methods in models
|
258
551
|
|
259
|
-
## 0.8.5
|
552
|
+
## 0.8.5 (2014-11-11)
|
260
553
|
|
261
554
|
- Added support for Elasticsearch 1.4
|
262
555
|
- Added `unsearchable` option
|
263
556
|
- Added `select: true` option
|
264
557
|
- Added `body` option
|
265
558
|
|
266
|
-
## 0.8.4
|
559
|
+
## 0.8.4 (2014-11-05)
|
267
560
|
|
268
561
|
- Added `boost_by_distance`
|
269
562
|
- More flexible highlight options
|
270
563
|
- Better `env` logic
|
271
564
|
|
272
|
-
## 0.8.3
|
565
|
+
## 0.8.3 (2014-09-20)
|
273
566
|
|
274
|
-
- Added support for
|
567
|
+
- Added support for Active Job
|
275
568
|
- Added `timeout` setting
|
276
569
|
- Fixed import with no records
|
277
570
|
|
278
|
-
## 0.8.2
|
571
|
+
## 0.8.2 (2014-08-18)
|
279
572
|
|
280
573
|
- Added `async` to `callbacks` option
|
281
574
|
- Added `wordnet` option
|
@@ -283,17 +576,17 @@ Breaking changes
|
|
283
576
|
- Catch misspelling of `misspellings` option
|
284
577
|
- Improved logging
|
285
578
|
|
286
|
-
## 0.8.1
|
579
|
+
## 0.8.1 (2014-08-16)
|
287
580
|
|
288
581
|
- Added `search_method_name` option
|
289
582
|
- Fixed `order` for array of hashes
|
290
583
|
- Added support for Mongoid 2
|
291
584
|
|
292
|
-
## 0.8.0
|
585
|
+
## 0.8.0 (2014-07-12)
|
293
586
|
|
294
587
|
- Added support for Elasticsearch 1.2
|
295
588
|
|
296
|
-
## 0.7.9
|
589
|
+
## 0.7.9 (2014-06-30)
|
297
590
|
|
298
591
|
- Added `tokens` method
|
299
592
|
- Added `json` option
|
@@ -301,86 +594,86 @@ Breaking changes
|
|
301
594
|
- Added `prev_page` for Kaminari pagination
|
302
595
|
- Added `import` option to reindex
|
303
596
|
|
304
|
-
## 0.7.8
|
597
|
+
## 0.7.8 (2014-06-22)
|
305
598
|
|
306
599
|
- Added `boost_by` and `boost_where` options
|
307
600
|
- Added ability to boost fields - `name^10`
|
308
601
|
- Added `select` option for `load: false`
|
309
602
|
|
310
|
-
## 0.7.7
|
603
|
+
## 0.7.7 (2014-06-10)
|
311
604
|
|
312
605
|
- Added support for automatic failover
|
313
606
|
- Fixed `operator` option (and default) for partial matches
|
314
607
|
|
315
|
-
## 0.7.6
|
608
|
+
## 0.7.6 (2014-05-20)
|
316
609
|
|
317
610
|
- Added `stats` option to facets
|
318
611
|
- Added `padding` option
|
319
612
|
|
320
|
-
## 0.7.5
|
613
|
+
## 0.7.5 (2014-05-13)
|
321
614
|
|
322
615
|
- Do not throw errors when index becomes out of sync with database
|
323
616
|
- Added custom exception types
|
324
617
|
- Fixed `offset` and `offset_value`
|
325
618
|
|
326
|
-
## 0.7.4
|
619
|
+
## 0.7.4 (2014-05-06)
|
327
620
|
|
328
621
|
- Fixed reindex with inheritance
|
329
622
|
|
330
|
-
## 0.7.3
|
623
|
+
## 0.7.3 (2014-04-30)
|
331
624
|
|
332
625
|
- Fixed multi-index searches
|
333
626
|
- Fixed suggestions for partial matches
|
334
627
|
- Added `offset` and `length` for improved pagination
|
335
628
|
|
336
|
-
## 0.7.2
|
629
|
+
## 0.7.2 (2014-04-24)
|
337
630
|
|
338
631
|
- Added smart facets
|
339
632
|
- Added more fields to `load: false` result
|
340
633
|
- Fixed logging for multi-index searches
|
341
634
|
- Added `first_page?` and `last_page?` for improved Kaminari support
|
342
635
|
|
343
|
-
## 0.7.1
|
636
|
+
## 0.7.1 (2014-04-12)
|
344
637
|
|
345
638
|
- Fixed huge issue w/ zero-downtime reindexing on 0.90
|
346
639
|
|
347
|
-
## 0.7.0
|
640
|
+
## 0.7.0 (2014-04-10)
|
348
641
|
|
349
642
|
- Added support for Elasticsearch 1.1
|
350
643
|
- Dropped support for Elasticsearch below 0.90.4 (unfortunate side effect of above)
|
351
644
|
|
352
|
-
## 0.6.3
|
645
|
+
## 0.6.3 (2014-04-08)
|
353
646
|
|
354
647
|
- Removed patron since no support for Windows
|
355
648
|
- Added error if `searchkick` is called multiple times
|
356
649
|
|
357
|
-
## 0.6.2
|
650
|
+
## 0.6.2 (2014-04-05)
|
358
651
|
|
359
652
|
- Added logging
|
360
653
|
- Fixed index_name option
|
361
654
|
- Added ability to use proc as the index name
|
362
655
|
|
363
|
-
## 0.6.1
|
656
|
+
## 0.6.1 (2014-03-24)
|
364
657
|
|
365
658
|
- Fixed huge issue w/ zero-downtime reindexing on 0.90 and elasticsearch-ruby 1.0
|
366
659
|
- Restore load: false behavior
|
367
660
|
- Restore total_entries method
|
368
661
|
|
369
|
-
## 0.6.0
|
662
|
+
## 0.6.0 (2014-03-22)
|
370
663
|
|
371
664
|
- Moved to elasticsearch-ruby
|
372
665
|
- Added support for modifying the query and viewing the response
|
373
666
|
- Added support for page_entries_info method
|
374
667
|
|
375
|
-
## 0.5.3
|
668
|
+
## 0.5.3 (2014-02-24)
|
376
669
|
|
377
670
|
- Fixed bug w/ word_* queries
|
378
671
|
|
379
|
-
## 0.5.2
|
672
|
+
## 0.5.2 (2014-02-12)
|
380
673
|
|
381
|
-
- Use after_commit hook for
|
674
|
+
- Use after_commit hook for Active Record to prevent data inconsistencies
|
382
675
|
|
383
|
-
## 0.5.1
|
676
|
+
## 0.5.1 (2014-02-12)
|
384
677
|
|
385
678
|
- Replaced stop words with common terms query
|
386
679
|
- Added language option
|
@@ -388,89 +681,89 @@ Breaking changes
|
|
388
681
|
- Fixed bug with MongoDB integer _id
|
389
682
|
- Fixed reindex bug when callbacks disabled
|
390
683
|
|
391
|
-
## 0.5.0
|
684
|
+
## 0.5.0 (2014-01-20)
|
392
685
|
|
393
686
|
- Better control over partial matches
|
394
687
|
- Added merge_mappings option
|
395
688
|
- Added batch_size option
|
396
689
|
- Fixed bug with nil where clauses
|
397
690
|
|
398
|
-
## 0.4.2
|
691
|
+
## 0.4.2 (2013-12-29)
|
399
692
|
|
400
693
|
- Added `should_index?` method to control which records are indexed
|
401
694
|
- Added ability to temporarily disable callbacks
|
402
695
|
- Added custom mappings
|
403
696
|
|
404
|
-
## 0.4.1
|
697
|
+
## 0.4.1 (2013-12-19)
|
405
698
|
|
406
699
|
- Fixed issue w/ inheritance mapping
|
407
700
|
|
408
|
-
## 0.4.0
|
701
|
+
## 0.4.0 (2013-12-11)
|
409
702
|
|
410
703
|
- Added support for Mongoid 4
|
411
704
|
- Added support for multiple locations
|
412
705
|
|
413
|
-
## 0.3.5
|
706
|
+
## 0.3.5 (2013-12-08)
|
414
707
|
|
415
708
|
- Added facet ranges
|
416
709
|
- Added all operator
|
417
710
|
|
418
|
-
## 0.3.4
|
711
|
+
## 0.3.4 (2013-11-22)
|
419
712
|
|
420
713
|
- Added highlighting
|
421
714
|
- Added :distance option to misspellings
|
422
715
|
- Fixed issue w/ BigDecimal serialization
|
423
716
|
|
424
|
-
## 0.3.3
|
717
|
+
## 0.3.3 (2013-11-04)
|
425
718
|
|
426
719
|
- Better error messages
|
427
720
|
- Added where: {field: nil} queries
|
428
721
|
|
429
|
-
## 0.3.2
|
722
|
+
## 0.3.2 (2013-11-02)
|
430
723
|
|
431
724
|
- Added support for single table inheritance
|
432
725
|
- Removed Tire::Model::Search
|
433
726
|
|
434
|
-
## 0.3.1
|
727
|
+
## 0.3.1 (2013-11-02)
|
435
728
|
|
436
729
|
- Added index_prefix option
|
437
730
|
- Fixed ES issue with incorrect facet counts
|
438
731
|
- Added option to turn off special characters
|
439
732
|
|
440
|
-
## 0.3.0
|
733
|
+
## 0.3.0 (2013-11-02)
|
441
734
|
|
442
735
|
- Fixed reversed coordinates
|
443
736
|
- Added bounded by a box queries
|
444
737
|
- Expanded `or` queries
|
445
738
|
|
446
|
-
## 0.2.8
|
739
|
+
## 0.2.8 (2013-09-30)
|
447
740
|
|
448
741
|
- Added option to disable callbacks
|
449
742
|
- Fixed bug with facets with Elasticsearch 0.90.5
|
450
743
|
|
451
|
-
## 0.2.7
|
744
|
+
## 0.2.7 (2013-09-23)
|
452
745
|
|
453
746
|
- Added limit to facet
|
454
747
|
- Improved similar items
|
455
748
|
|
456
|
-
## 0.2.6
|
749
|
+
## 0.2.6 (2013-09-10)
|
457
750
|
|
458
751
|
- Added option to disable misspellings
|
459
752
|
|
460
|
-
## 0.2.5
|
753
|
+
## 0.2.5 (2013-08-30)
|
461
754
|
|
462
755
|
- Added geospartial searches
|
463
756
|
- Create alias before importing document if no alias exists
|
464
757
|
- Fixed exception when :per_page option is a string
|
465
758
|
- Check `RAILS_ENV` if `RACK_ENV` is not set
|
466
759
|
|
467
|
-
## 0.2.4
|
760
|
+
## 0.2.4 (2013-08-20)
|
468
761
|
|
469
762
|
- Use `to_hash` instead of `as_json` for default `search_data` method
|
470
763
|
- Works for Mongoid 1.3
|
471
764
|
- Use one shard in test environment for consistent scores
|
472
765
|
|
473
|
-
## 0.2.3
|
766
|
+
## 0.2.3 (2013-08-16)
|
474
767
|
|
475
768
|
- Setup Travis
|
476
769
|
- Clean old indices before reindex
|
@@ -478,33 +771,33 @@ Breaking changes
|
|
478
771
|
- Fixed pagination
|
479
772
|
- Added `similar` method
|
480
773
|
|
481
|
-
## 0.2.2
|
774
|
+
## 0.2.2 (2013-08-11)
|
482
775
|
|
483
776
|
- Clean old indices after reindex
|
484
777
|
- More expansions for fuzzy queries
|
485
778
|
|
486
|
-
## 0.2.1
|
779
|
+
## 0.2.1 (2013-08-11)
|
487
780
|
|
488
781
|
- Added Rails logger
|
489
782
|
- Only fetch ids when `load: true`
|
490
783
|
|
491
|
-
## 0.2.0
|
784
|
+
## 0.2.0 (2013-08-10)
|
492
785
|
|
493
786
|
- Added autocomplete
|
494
787
|
- Added “Did you mean” suggestions
|
495
788
|
- Added personalized searches
|
496
789
|
|
497
|
-
## 0.1.4
|
790
|
+
## 0.1.4 (2013-08-03)
|
498
791
|
|
499
792
|
- Bug fix
|
500
793
|
|
501
|
-
## 0.1.3
|
794
|
+
## 0.1.3 (2013-08-03)
|
502
795
|
|
503
796
|
- Changed edit distance to one for misspellings
|
504
797
|
- Raise errors when indexing fails
|
505
798
|
- Fixed pagination
|
506
799
|
- Fixed :include option
|
507
800
|
|
508
|
-
## 0.1.2
|
801
|
+
## 0.1.2 (2013-07-30)
|
509
802
|
|
510
803
|
- Launch
|