searchkick 2.3.2 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
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