searchkick_evichat 0.0.2

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 (78) hide show
  1. checksums.yaml +7 -0
  2. data/.github/ISSUE_TEMPLATE.md +7 -0
  3. data/.gitignore +22 -0
  4. data/.travis.yml +33 -0
  5. data/CHANGELOG.md +571 -0
  6. data/CONTRIBUTING.md +51 -0
  7. data/Gemfile +16 -0
  8. data/LICENSE.txt +22 -0
  9. data/README.md +1895 -0
  10. data/Rakefile +16 -0
  11. data/benchmark/Gemfile +24 -0
  12. data/benchmark/index.rb +99 -0
  13. data/benchmark/search.rb +48 -0
  14. data/docs/Searchkick-3-Upgrade.md +57 -0
  15. data/lib/searchkick.rb +255 -0
  16. data/lib/searchkick/bulk_indexer.rb +171 -0
  17. data/lib/searchkick/bulk_reindex_job.rb +27 -0
  18. data/lib/searchkick/hash_wrapper.rb +12 -0
  19. data/lib/searchkick/index.rb +331 -0
  20. data/lib/searchkick/index_options.rb +414 -0
  21. data/lib/searchkick/indexer.rb +28 -0
  22. data/lib/searchkick/logging.rb +243 -0
  23. data/lib/searchkick/middleware.rb +12 -0
  24. data/lib/searchkick/model.rb +105 -0
  25. data/lib/searchkick/multi_search.rb +41 -0
  26. data/lib/searchkick/process_batch_job.rb +23 -0
  27. data/lib/searchkick/process_queue_job.rb +23 -0
  28. data/lib/searchkick/query.rb +978 -0
  29. data/lib/searchkick/record_data.rb +128 -0
  30. data/lib/searchkick/record_indexer.rb +59 -0
  31. data/lib/searchkick/reindex_queue.rb +38 -0
  32. data/lib/searchkick/reindex_v2_job.rb +36 -0
  33. data/lib/searchkick/results.rb +235 -0
  34. data/lib/searchkick/tasks.rb +29 -0
  35. data/lib/searchkick/version.rb +3 -0
  36. data/searchkick.gemspec +30 -0
  37. data/test/aggs_test.rb +217 -0
  38. data/test/autocomplete_test.rb +81 -0
  39. data/test/boost_test.rb +207 -0
  40. data/test/callbacks_test.rb +59 -0
  41. data/test/ci/before_install.sh +17 -0
  42. data/test/errors_test.rb +19 -0
  43. data/test/gemfiles/activerecord42.gemfile +7 -0
  44. data/test/gemfiles/activerecord50.gemfile +7 -0
  45. data/test/gemfiles/activerecord51.gemfile +7 -0
  46. data/test/gemfiles/apartment.gemfile +8 -0
  47. data/test/gemfiles/cequel.gemfile +8 -0
  48. data/test/gemfiles/mongoid5.gemfile +7 -0
  49. data/test/gemfiles/mongoid6.gemfile +12 -0
  50. data/test/gemfiles/nobrainer.gemfile +8 -0
  51. data/test/gemfiles/parallel_tests.gemfile +8 -0
  52. data/test/geo_shape_test.rb +171 -0
  53. data/test/highlight_test.rb +94 -0
  54. data/test/index_test.rb +165 -0
  55. data/test/inheritance_test.rb +82 -0
  56. data/test/language_test.rb +79 -0
  57. data/test/marshal_test.rb +13 -0
  58. data/test/match_test.rb +293 -0
  59. data/test/misspellings_test.rb +56 -0
  60. data/test/model_test.rb +40 -0
  61. data/test/multi_search_test.rb +37 -0
  62. data/test/multi_tenancy_test.rb +22 -0
  63. data/test/order_test.rb +40 -0
  64. data/test/pagination_test.rb +96 -0
  65. data/test/partial_reindex_test.rb +65 -0
  66. data/test/query_test.rb +43 -0
  67. data/test/reindex_test.rb +87 -0
  68. data/test/reindex_v2_job_test.rb +27 -0
  69. data/test/routing_test.rb +23 -0
  70. data/test/should_index_test.rb +32 -0
  71. data/test/similar_test.rb +28 -0
  72. data/test/sql_test.rb +190 -0
  73. data/test/suggest_test.rb +100 -0
  74. data/test/support/kaminari.yml +21 -0
  75. data/test/synonyms_test.rb +69 -0
  76. data/test/test_helper.rb +593 -0
  77. data/test/where_test.rb +249 -0
  78. metadata +250 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b8e783805dec6beca832f95dc54a1aa0f67f20f7f10c5ac5d41bc1982a208b02
4
+ data.tar.gz: 567b43358c8ed6a732b72ea331d9683626599aeb8968df0082603d626c788ce7
5
+ SHA512:
6
+ metadata.gz: 4d8e4640a86b95f664f442c3c81785fc2d61ffb5af30a2c18e4fd61de2ca2c9a5907a1e811b0bb23444605dec512d88a097dcfd45b28613465f5dfe22fc60c12
7
+ data.tar.gz: 46eb5ad7f0aa88306f8e3ced00a85126c8b5a5fa869987b7f33479ddfc64a99a3a313a50b19bacfb7e937d9a06abad318b0c5fb3f3ae96caa26a1623854f8b88
@@ -0,0 +1,7 @@
1
+ Hi,
2
+
3
+ Before creating an issue, please check out the Contributing Guide:
4
+
5
+ https://github.com/ankane/searchkick/blob/master/CONTRIBUTING.md
6
+
7
+ Thanks!
@@ -0,0 +1,22 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ *.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
18
+ *.log
19
+ .DS_Store
20
+ .ruby-*
21
+ .idea/
22
+ *.sqlite3
@@ -0,0 +1,33 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm: 2.4.2
4
+ services:
5
+ - mongodb
6
+ - redis-server
7
+ before_install:
8
+ - ./test/ci/before_install.sh
9
+ script: bundle exec rake test
10
+ before_script:
11
+ - psql -c 'create database searchkick_test;' -U postgres
12
+ notifications:
13
+ email:
14
+ on_success: never
15
+ on_failure: change
16
+ gemfile:
17
+ - Gemfile
18
+ - test/gemfiles/activerecord51.gemfile
19
+ - test/gemfiles/activerecord50.gemfile
20
+ - test/gemfiles/activerecord42.gemfile
21
+ - test/gemfiles/mongoid5.gemfile
22
+ - test/gemfiles/mongoid6.gemfile
23
+ env:
24
+ - ELASTICSEARCH_VERSION=6.2.3
25
+ jdk: oraclejdk8
26
+ matrix:
27
+ include:
28
+ - gemfile: Gemfile
29
+ env: ELASTICSEARCH_VERSION=5.0.1
30
+ - gemfile: Gemfile
31
+ env: ELASTICSEARCH_VERSION=5.6.7
32
+ - gemfile: Gemfile
33
+ env: ELASTICSEARCH_VERSION=6.0.0
@@ -0,0 +1,571 @@
1
+ ## 3.0.3 [unreleased]
2
+
3
+ - Added support for pagination with `body` option
4
+ - Fixed "Model Search Data" output for `debug` option
5
+ - Fixed `reindex_status` error
6
+ - Fixed error with optional operators in Ruby regexp
7
+ - Fixed deprecation warnings for Elasticsearch 6.2+
8
+
9
+ ## 3.0.2
10
+
11
+ - Added support for Korean and Vietnamese
12
+ - Fixed `Unsupported argument type: Symbol` for async partial reindex
13
+ - Fixed infinite recursion with multi search and misspellings below
14
+ - Do not raise an error when `id` is indexed
15
+
16
+ ## 3.0.1
17
+
18
+ - Added `scope` option for partial reindex
19
+ - Added support for Japanese, Polish, and Ukrainian
20
+
21
+ ## 3.0.0
22
+
23
+ - Added support for Chinese
24
+ - No longer requires fields to query for Elasticsearch 6
25
+ - Results can be marshaled by default (unless using `highlight` option)
26
+
27
+ Breaking changes
28
+
29
+ - Removed support for Elasticsearch 2
30
+ - Removed support for ActiveRecord < 4.2 and Mongoid < 5
31
+ - Types are no longer used
32
+ - The `_all` field is disabled by default in Elasticsearch 5
33
+ - Conversions are not stemmed by default
34
+ - An `ArgumentError` is raised instead of a warning when options are incompatible with the `body` option
35
+ - Removed `log` option from `boost_by`
36
+ - Removed `Model.enable_search_callbacks`, `Model.disable_search_callbacks`, and `Model.search_callbacks?`
37
+ - Removed `reindex_async` method, as `reindex` now defaults to callbacks mode specified on the model
38
+ - Removed `async` option from `record.reindex`
39
+ - Removed `search_hit` method - use `with_hit` instead
40
+ - Removed `each_with_hit` - use `with_hit.each` instead
41
+ - Removed `with_details` - use `with_highlights` instead
42
+ - Bumped default `limit` to 10,000
43
+
44
+ ## 2.5.0
45
+
46
+ - Try requests 3 times before raising error
47
+ - Better exception when trying to access results for failed multi-search query
48
+ - More efficient aggregations with `where` clauses
49
+ - Added support for `faraday_middleware-aws-sigv4`
50
+ - Added `credentials` option to `aws_credentials`
51
+ - Added `modifier` option to `boost_by`
52
+ - Added `scope_results` option
53
+ - Added `factor` option to `boost_by_distance`
54
+
55
+ ## 2.4.0
56
+
57
+ - Fixed `similar` for Elasticsearch 6
58
+ - Added `inheritance` option
59
+ - Added `_type` option
60
+ - Fixed `Must specify fields to search` error when searching `*`
61
+
62
+ ## 2.3.2
63
+
64
+ - Added `_all` and `default_fields` options
65
+ - Added global `index_prefix` option
66
+ - Added `wait` option to async reindex
67
+ - Added `model_includes` option
68
+ - Added `missing` option for `boost_by`
69
+ - Raise error for `reindex_status` when Redis not configured
70
+ - Warn when incompatible options used with `body` option
71
+ - Fixed bug where `routing` and `type` options were silently ignored with `body` option
72
+ - Fixed `reindex(async: true)` for non-numeric primary keys in Postgres
73
+
74
+ ## 2.3.1
75
+
76
+ - Added support for `reindex(async: true)` for non-numeric primary keys
77
+ - Added `conversions_term` option
78
+ - Added support for passing fields to `suggest` option
79
+ - Fixed `page_view_entries` for Kaminari
80
+
81
+ ## 2.3.0
82
+
83
+ - Fixed analyzer on dynamically mapped fields
84
+ - Fixed error with `similar` method and `_all` field
85
+ - Throw error when fields are needed
86
+ - Added `queue_name` option
87
+ - No longer require synonyms to be lowercase
88
+
89
+ ## 2.2.1
90
+
91
+ - Added `avg`, `cardinality`, `max`, `min`, and `sum` aggregations
92
+ - Added `load: {dumpable: true}` option
93
+ - Added `index_suffix` option
94
+ - Accept string for `exclude` option
95
+
96
+ ## 2.2.0
97
+
98
+ - Fixed bug with text values longer than 256 characters and `_all` field - see [#850](https://github.com/ankane/searchkick/issues/850)
99
+ - Fixed issue with `_all` field in `searchable`
100
+ - Fixed `exclude` option with `word_start`
101
+
102
+ ## 2.1.1
103
+
104
+ - Fixed duplicate notifications
105
+ - Added support for `connection_pool`
106
+ - Added `exclude` option
107
+
108
+ ## 2.1.0
109
+
110
+ - Background reindexing and queues are officially supported
111
+ - Log updates and deletes
112
+
113
+ ## 2.0.4
114
+
115
+ - Added support for queuing updates [experimental]
116
+ - Added `refresh_interval` option to `reindex`
117
+ - Prefer `search_index` over `searchkick_index`
118
+
119
+ ## 2.0.3
120
+
121
+ - Added `async` option to `reindex` [experimental]
122
+ - Added `misspellings?` method to results
123
+
124
+ ## 2.0.2
125
+
126
+ - Added `retain` option to `reindex`
127
+ - Added support for attributes in highlight tags
128
+ - Fixed potentially silent errors in reindex job
129
+ - Improved syntax for `boost_by_distance`
130
+
131
+ ## 2.0.1
132
+
133
+ - Added `search_hit` and `search_highlights` methods to models
134
+ - Improved reindex performance
135
+
136
+ ## 2.0.0
137
+
138
+ - Added support for `reindex` on associations
139
+
140
+ Breaking changes
141
+
142
+ - Removed support for Elasticsearch 1 as it reaches [end of life](https://www.elastic.co/support/eol)
143
+ - Removed facets, legacy options, and legacy methods
144
+ - Invalid options now throw an `ArgumentError`
145
+ - The `query` and `json` options have been removed in favor of `body`
146
+ - The `include` option has been removed in favor of `includes`
147
+ - The `personalize` option has been removed in favor of `boost_where`
148
+ - The `partial` option has been removed in favor of `operator`
149
+ - Renamed `select_v2` to `select` (legacy `select` no longer available)
150
+ - The `_all` field is disabled if `searchable` option is used (for performance)
151
+ - The `partial_reindex(:method_name)` method has been replaced with `reindex(:method_name)`
152
+ - The `unsearchable` and `only_analyzed` options have been removed in favor of `searchable` and `filterable`
153
+ - `load: false` no longer returns an array in Elasticsearch 2
154
+
155
+ ## 1.5.1
156
+
157
+ - Added `client_options`
158
+ - Added `refresh` option to `reindex` method
159
+ - Improved syntax for partial reindex
160
+
161
+ ## 1.5.0
162
+
163
+ - Added support for geo shape indexing and queries
164
+ - Added `_and`, `_or`, `_not` to `where` option
165
+
166
+ ## 1.4.2
167
+
168
+ - Added support for directional synonyms
169
+ - Easier AWS setup
170
+ - Fixed `total_docs` method for ES 5+
171
+ - Fixed exception on update errors
172
+
173
+ ## 1.4.1
174
+
175
+ - Added `partial_reindex` method
176
+ - Added `debug` option to `search` method
177
+ - Added `profile` option
178
+
179
+ ## 1.4.0
180
+
181
+ - Official support for Elasticsearch 5
182
+ - Boost exact matches for partial matching
183
+ - Added `searchkick_debug` method
184
+ - Added `geo_polygon` filter
185
+
186
+ ## 1.3.6
187
+
188
+ - Fixed `Job adapter not found` error
189
+
190
+ ## 1.3.5
191
+
192
+ - Added support for Elasticsearch 5.0 beta
193
+ - Added `request_params` option
194
+ - Added `filterable` option
195
+
196
+ ## 1.3.4
197
+
198
+ - Added `resume` option to reindex
199
+ - Added search timeout to payload
200
+
201
+ ## 1.3.3
202
+
203
+ - Fix for namespaced models (broken in 1.3.2)
204
+
205
+ ## 1.3.2
206
+
207
+ - Added `body_options` option
208
+ - Added `date_histogram` aggregation
209
+ - Added `indices_boost` option
210
+ - Added support for multiple conversions
211
+
212
+ ## 1.3.1
213
+
214
+ - Fixed error with Ruby 2.0
215
+ - Fixed error with indexing large fields
216
+
217
+ ## 1.3.0
218
+
219
+ - Added support for Elasticsearch 5.0 alpha
220
+ - Added support for phrase matches
221
+ - Added support for procs for `index_prefix` option
222
+
223
+ ## 1.2.1
224
+
225
+ - Added `multi_search` method
226
+ - Added support for routing for Elasticsearch 2
227
+ - Added support for `search_document_id` and `search_document_type` in models
228
+ - Fixed error with instrumentation for searching multiple models
229
+ - Fixed instrumentation for bulk updates
230
+
231
+ ## 1.2.0
232
+
233
+ - Fixed deprecation warnings with `alias_method_chain`
234
+ - Added `analyzed_only` option for large text fields
235
+ - Added `encoder` option to highlight
236
+ - Fixed issue in `similar` method with `per_page` option
237
+ - Added basic support for multiple models
238
+
239
+ ## 1.1.2
240
+
241
+ - Added bulk updates with `callbacks` method
242
+ - Added `bulk_delete` method
243
+ - Added `search_timeout` option
244
+ - Fixed bug with new location format for `boost_by_distance`
245
+
246
+ ## 1.1.1
247
+
248
+ - Added support for `{lat: lat, lon: lon}` as preferred format for locations
249
+
250
+ ## 1.1.0
251
+
252
+ - Added `below` option to misspellings to improve performance
253
+ - Fixed synonyms for `word_*` partial matches
254
+ - Added `searchable` option
255
+ - Added `similarity` option
256
+ - Added `match` option
257
+ - Added `word` option
258
+ - Added highlighted fields to `load: false`
259
+
260
+ ## 1.0.3
261
+
262
+ - Added support for Elasticsearch 2.1
263
+
264
+ ## 1.0.2
265
+
266
+ - Throw `Searchkick::ImportError` for errors when importing records
267
+ - Errors now inherit from `Searchkick::Error`
268
+ - Added `order` option to aggregations
269
+ - Added `mapping` method
270
+
271
+ ## 1.0.1
272
+
273
+ - Added aggregations method to get raw response
274
+ - Use `execute: false` for lazy loading
275
+ - Return nil when no aggs
276
+ - Added emoji search
277
+
278
+ ## 1.0.0
279
+
280
+ - Added support for Elasticsearch 2.0
281
+ - Added support for aggregations
282
+ - Added ability to use misspellings for partial matches
283
+ - Added `fragment_size` option for highlight
284
+ - Added `took` method to results
285
+
286
+ Breaking changes
287
+
288
+ - Raise `Searchkick::DangerousOperation` error when calling reindex with scope
289
+ - Enabled misspellings by default for partial matches
290
+ - Enabled transpositions by default for misspellings
291
+
292
+ ## 0.9.1
293
+
294
+ - `and` now matches `&`
295
+ - Added `transpositions` option to misspellings
296
+ - Added `boost_mode` and `log` options to `boost_by`
297
+ - Added `prefix_length` option to `misspellings`
298
+ - Added ability to set env
299
+
300
+ ## 0.9.0
301
+
302
+ - Much better performance for where queries if no facets
303
+ - Added basic support for regex
304
+ - Added support for routing
305
+ - Made `Searchkick.disable_callbacks` thread-safe
306
+
307
+ ## 0.8.7
308
+
309
+ - Fixed Mongoid import
310
+
311
+ ## 0.8.6
312
+
313
+ - Added support for NoBrainer
314
+ - Added `stem_conversions: false` option
315
+ - Added support for multiple `boost_where` values on the same field
316
+ - Added support for array of values for `boost_where`
317
+ - Fixed suggestions with partial match boost
318
+ - Fixed redefining existing instance methods in models
319
+
320
+ ## 0.8.5
321
+
322
+ - Added support for Elasticsearch 1.4
323
+ - Added `unsearchable` option
324
+ - Added `select: true` option
325
+ - Added `body` option
326
+
327
+ ## 0.8.4
328
+
329
+ - Added `boost_by_distance`
330
+ - More flexible highlight options
331
+ - Better `env` logic
332
+
333
+ ## 0.8.3
334
+
335
+ - Added support for ActiveJob
336
+ - Added `timeout` setting
337
+ - Fixed import with no records
338
+
339
+ ## 0.8.2
340
+
341
+ - Added `async` to `callbacks` option
342
+ - Added `wordnet` option
343
+ - Added `edit_distance` option to eventually replace `distance` option
344
+ - Catch misspelling of `misspellings` option
345
+ - Improved logging
346
+
347
+ ## 0.8.1
348
+
349
+ - Added `search_method_name` option
350
+ - Fixed `order` for array of hashes
351
+ - Added support for Mongoid 2
352
+
353
+ ## 0.8.0
354
+
355
+ - Added support for Elasticsearch 1.2
356
+
357
+ ## 0.7.9
358
+
359
+ - Added `tokens` method
360
+ - Added `json` option
361
+ - Added exact matches
362
+ - Added `prev_page` for Kaminari pagination
363
+ - Added `import` option to reindex
364
+
365
+ ## 0.7.8
366
+
367
+ - Added `boost_by` and `boost_where` options
368
+ - Added ability to boost fields - `name^10`
369
+ - Added `select` option for `load: false`
370
+
371
+ ## 0.7.7
372
+
373
+ - Added support for automatic failover
374
+ - Fixed `operator` option (and default) for partial matches
375
+
376
+ ## 0.7.6
377
+
378
+ - Added `stats` option to facets
379
+ - Added `padding` option
380
+
381
+ ## 0.7.5
382
+
383
+ - Do not throw errors when index becomes out of sync with database
384
+ - Added custom exception types
385
+ - Fixed `offset` and `offset_value`
386
+
387
+ ## 0.7.4
388
+
389
+ - Fixed reindex with inheritance
390
+
391
+ ## 0.7.3
392
+
393
+ - Fixed multi-index searches
394
+ - Fixed suggestions for partial matches
395
+ - Added `offset` and `length` for improved pagination
396
+
397
+ ## 0.7.2
398
+
399
+ - Added smart facets
400
+ - Added more fields to `load: false` result
401
+ - Fixed logging for multi-index searches
402
+ - Added `first_page?` and `last_page?` for improved Kaminari support
403
+
404
+ ## 0.7.1
405
+
406
+ - Fixed huge issue w/ zero-downtime reindexing on 0.90
407
+
408
+ ## 0.7.0
409
+
410
+ - Added support for Elasticsearch 1.1
411
+ - Dropped support for Elasticsearch below 0.90.4 (unfortunate side effect of above)
412
+
413
+ ## 0.6.3
414
+
415
+ - Removed patron since no support for Windows
416
+ - Added error if `searchkick` is called multiple times
417
+
418
+ ## 0.6.2
419
+
420
+ - Added logging
421
+ - Fixed index_name option
422
+ - Added ability to use proc as the index name
423
+
424
+ ## 0.6.1
425
+
426
+ - Fixed huge issue w/ zero-downtime reindexing on 0.90 and elasticsearch-ruby 1.0
427
+ - Restore load: false behavior
428
+ - Restore total_entries method
429
+
430
+ ## 0.6.0
431
+
432
+ - Moved to elasticsearch-ruby
433
+ - Added support for modifying the query and viewing the response
434
+ - Added support for page_entries_info method
435
+
436
+ ## 0.5.3
437
+
438
+ - Fixed bug w/ word_* queries
439
+
440
+ ## 0.5.2
441
+
442
+ - Use after_commit hook for ActiveRecord to prevent data inconsistencies
443
+
444
+ ## 0.5.1
445
+
446
+ - Replaced stop words with common terms query
447
+ - Added language option
448
+ - Fixed bug with empty array in where clause
449
+ - Fixed bug with MongoDB integer _id
450
+ - Fixed reindex bug when callbacks disabled
451
+
452
+ ## 0.5.0
453
+
454
+ - Better control over partial matches
455
+ - Added merge_mappings option
456
+ - Added batch_size option
457
+ - Fixed bug with nil where clauses
458
+
459
+ ## 0.4.2
460
+
461
+ - Added `should_index?` method to control which records are indexed
462
+ - Added ability to temporarily disable callbacks
463
+ - Added custom mappings
464
+
465
+ ## 0.4.1
466
+
467
+ - Fixed issue w/ inheritance mapping
468
+
469
+ ## 0.4.0
470
+
471
+ - Added support for Mongoid 4
472
+ - Added support for multiple locations
473
+
474
+ ## 0.3.5
475
+
476
+ - Added facet ranges
477
+ - Added all operator
478
+
479
+ ## 0.3.4
480
+
481
+ - Added highlighting
482
+ - Added :distance option to misspellings
483
+ - Fixed issue w/ BigDecimal serialization
484
+
485
+ ## 0.3.3
486
+
487
+ - Better error messages
488
+ - Added where: {field: nil} queries
489
+
490
+ ## 0.3.2
491
+
492
+ - Added support for single table inheritance
493
+ - Removed Tire::Model::Search
494
+
495
+ ## 0.3.1
496
+
497
+ - Added index_prefix option
498
+ - Fixed ES issue with incorrect facet counts
499
+ - Added option to turn off special characters
500
+
501
+ ## 0.3.0
502
+
503
+ - Fixed reversed coordinates
504
+ - Added bounded by a box queries
505
+ - Expanded `or` queries
506
+
507
+ ## 0.2.8
508
+
509
+ - Added option to disable callbacks
510
+ - Fixed bug with facets with Elasticsearch 0.90.5
511
+
512
+ ## 0.2.7
513
+
514
+ - Added limit to facet
515
+ - Improved similar items
516
+
517
+ ## 0.2.6
518
+
519
+ - Added option to disable misspellings
520
+
521
+ ## 0.2.5
522
+
523
+ - Added geospartial searches
524
+ - Create alias before importing document if no alias exists
525
+ - Fixed exception when :per_page option is a string
526
+ - Check `RAILS_ENV` if `RACK_ENV` is not set
527
+
528
+ ## 0.2.4
529
+
530
+ - Use `to_hash` instead of `as_json` for default `search_data` method
531
+ - Works for Mongoid 1.3
532
+ - Use one shard in test environment for consistent scores
533
+
534
+ ## 0.2.3
535
+
536
+ - Setup Travis
537
+ - Clean old indices before reindex
538
+ - Search for `*` returns all results
539
+ - Fixed pagination
540
+ - Added `similar` method
541
+
542
+ ## 0.2.2
543
+
544
+ - Clean old indices after reindex
545
+ - More expansions for fuzzy queries
546
+
547
+ ## 0.2.1
548
+
549
+ - Added Rails logger
550
+ - Only fetch ids when `load: true`
551
+
552
+ ## 0.2.0
553
+
554
+ - Added autocomplete
555
+ - Added “Did you mean” suggestions
556
+ - Added personalized searches
557
+
558
+ ## 0.1.4
559
+
560
+ - Bug fix
561
+
562
+ ## 0.1.3
563
+
564
+ - Changed edit distance to one for misspellings
565
+ - Raise errors when indexing fails
566
+ - Fixed pagination
567
+ - Fixed :include option
568
+
569
+ ## 0.1.2
570
+
571
+ - Launch