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