searchkick 4.1.0 → 4.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 011efe75e8dd9c13d54a7278a8e3eb8e9d4e8ef3bca601842c4f022799c3d0f4
4
- data.tar.gz: bc18d8b082717fe5ebbd8891c9eda584bd4f288af3898c19495ccdc9db9f04f7
3
+ metadata.gz: 79cd2e4afe02598dbdc951ed222c98ab51c8f6b0580c7beb70d7f6f5e9223c8f
4
+ data.tar.gz: 804ae10724df4b1f72fc93f157e185cd6acbc734952c64e1c596d20f26360ce9
5
5
  SHA512:
6
- metadata.gz: 03dc4717ee01f14c16725e98125865c1d3331fea5cb4086af979e4b06bdb6576e427ee06a1a478a5792b857e4c087c66e43db0d0799691bccc5782ce4a3100ca
7
- data.tar.gz: b5ba0becde65ea65ca5e8ad7c4122119fbc9580ee445575ad90bae03ba868b09199eeae405a7203d91bda495289d37435dd9ec145672ec7e6141720e721123cf
6
+ metadata.gz: 732852787481b5aaf69edda3850c50846d5d07a55ba73d41dbee864988f04c5480c8c1535af6b82374982da4f95de5735f36433e6a37b46a41053ecc975fc9ef
7
+ data.tar.gz: 6d4408714af66540fc2868d2d9d4bd7b72d468150f5a29c9200d4eb349ee89f3155c98536742eb0015f905de644345e832af3a752613007d424cbb2c353051c2
@@ -1,24 +1,30 @@
1
- ## 4.1.0
1
+ ## 4.1.1 (2019-11-19)
2
+
3
+ - Added `chinese2` and `korean2` languages
4
+ - Improved performance of async full reindex
5
+ - Fixed `searchkick:reindex:all` rake task for Rails 6
6
+
7
+ ## 4.1.0 (2019-08-01)
2
8
 
3
9
  - Added `like` operator
4
10
  - Added `exists` operator
5
11
  - Added warnings for certain regular expressions
6
12
  - Fixed anchored regular expressions
7
13
 
8
- ## 4.0.2
14
+ ## 4.0.2 (2019-06-04)
9
15
 
10
16
  - Added block form of `scroll`
11
17
  - Added `clear_scroll` method
12
18
  - Fixed custom mappings
13
19
 
14
- ## 4.0.1
20
+ ## 4.0.1 (2019-05-30)
15
21
 
16
22
  - Added support for scroll API
17
23
  - Made type optional for custom mapping for Elasticsearch 6
18
24
  - Fixed error when suggestions empty
19
25
  - Fixed `models` option with inheritance
20
26
 
21
- ## 4.0.0
27
+ ## 4.0.0 (2019-04-11)
22
28
 
23
29
  - Added support for Elasticsearch 7
24
30
  - Added `models` option
@@ -28,7 +34,7 @@ Breaking changes
28
34
  - Removed support for Elasticsearch 5
29
35
  - Removed support for multi-word synonyms (they no longer work with shingles)
30
36
 
31
- ## 3.1.3
37
+ ## 3.1.3 (2019-04-11)
32
38
 
33
39
  - Added support for endless ranges
34
40
  - Added support for routing to `similar` method
@@ -37,7 +43,7 @@ Breaking changes
37
43
  - Fixed error with some language stemmers and Elasticsearch 6.5
38
44
  - Fixed issue with misspellings below and body block
39
45
 
40
- ## 3.1.2
46
+ ## 3.1.2 (2018-09-27)
41
47
 
42
48
  - Improved performance of indices boost
43
49
  - Fixed deletes with routing and `async` callbacks
@@ -45,7 +51,7 @@ Breaking changes
45
51
  - Fixed deprecation warnings
46
52
  - Fixed field misspellings for older partial match format
47
53
 
48
- ## 3.1.1
54
+ ## 3.1.1 (2018-08-09)
49
55
 
50
56
  - Added per-field misspellings
51
57
  - Added `case_sensitive` option
@@ -54,7 +60,7 @@ Breaking changes
54
60
  - Fixed `exclude` option with match all
55
61
  - Fixed `with_highlights` method
56
62
 
57
- ## 3.1.0
63
+ ## 3.1.0 (2018-05-12)
58
64
 
59
65
  - Added `:inline` as alias for `true` for `callbacks` and `mode` options
60
66
  - Friendlier error message for bad mapping with partial matches
@@ -63,7 +69,7 @@ Breaking changes
63
69
  - Fixed `with_hit` and `with_highlights` when records in search index do not exist in database
64
70
  - Fixed error with highlights and match all
65
71
 
66
- ## 3.0.3
72
+ ## 3.0.3 (2018-04-22)
67
73
 
68
74
  - Added support for pagination with `body` option
69
75
  - Added `boost_by_recency` option
@@ -72,19 +78,19 @@ Breaking changes
72
78
  - Fixed error with optional operators in Ruby regexp
73
79
  - Fixed deprecation warnings for Elasticsearch 6.2+
74
80
 
75
- ## 3.0.2
81
+ ## 3.0.2 (2018-03-26)
76
82
 
77
83
  - Added support for Korean and Vietnamese
78
84
  - Fixed `Unsupported argument type: Symbol` for async partial reindex
79
85
  - Fixed infinite recursion with multi search and misspellings below
80
86
  - Do not raise an error when `id` is indexed
81
87
 
82
- ## 3.0.1
88
+ ## 3.0.1 (2018-03-14)
83
89
 
84
90
  - Added `scope` option for partial reindex
85
91
  - Added support for Japanese, Polish, and Ukrainian
86
92
 
87
- ## 3.0.0
93
+ ## 3.0.0 (2018-03-03)
88
94
 
89
95
  - Added support for Chinese
90
96
  - No longer requires fields to query for Elasticsearch 6
@@ -107,7 +113,7 @@ Breaking changes
107
113
  - Removed `with_details` - use `with_highlights` instead
108
114
  - Bumped default `limit` to 10,000
109
115
 
110
- ## 2.5.0
116
+ ## 2.5.0 (2018-02-15)
111
117
 
112
118
  - Try requests 3 times before raising error
113
119
  - Better exception when trying to access results for failed multi-search query
@@ -118,14 +124,14 @@ Breaking changes
118
124
  - Added `scope_results` option
119
125
  - Added `factor` option to `boost_by_distance`
120
126
 
121
- ## 2.4.0
127
+ ## 2.4.0 (2017-11-14)
122
128
 
123
129
  - Fixed `similar` for Elasticsearch 6
124
130
  - Added `inheritance` option
125
131
  - Added `_type` option
126
132
  - Fixed `Must specify fields to search` error when searching `*`
127
133
 
128
- ## 2.3.2
134
+ ## 2.3.2 (2017-09-08)
129
135
 
130
136
  - Added `_all` and `default_fields` options
131
137
  - Added global `index_prefix` option
@@ -137,14 +143,14 @@ Breaking changes
137
143
  - Fixed bug where `routing` and `type` options were silently ignored with `body` option
138
144
  - Fixed `reindex(async: true)` for non-numeric primary keys in Postgres
139
145
 
140
- ## 2.3.1
146
+ ## 2.3.1 (2017-07-06)
141
147
 
142
148
  - Added support for `reindex(async: true)` for non-numeric primary keys
143
149
  - Added `conversions_term` option
144
150
  - Added support for passing fields to `suggest` option
145
151
  - Fixed `page_view_entries` for Kaminari
146
152
 
147
- ## 2.3.0
153
+ ## 2.3.0 (2017-05-06)
148
154
 
149
155
  - Fixed analyzer on dynamically mapped fields
150
156
  - Fixed error with `similar` method and `_all` field
@@ -152,54 +158,54 @@ Breaking changes
152
158
  - Added `queue_name` option
153
159
  - No longer require synonyms to be lowercase
154
160
 
155
- ## 2.2.1
161
+ ## 2.2.1 (2017-04-16)
156
162
 
157
163
  - Added `avg`, `cardinality`, `max`, `min`, and `sum` aggregations
158
164
  - Added `load: {dumpable: true}` option
159
165
  - Added `index_suffix` option
160
166
  - Accept string for `exclude` option
161
167
 
162
- ## 2.2.0
168
+ ## 2.2.0 (2017-03-19)
163
169
 
164
170
  - Fixed bug with text values longer than 256 characters and `_all` field - see [#850](https://github.com/ankane/searchkick/issues/850)
165
171
  - Fixed issue with `_all` field in `searchable`
166
172
  - Fixed `exclude` option with `word_start`
167
173
 
168
- ## 2.1.1
174
+ ## 2.1.1 (2017-01-17)
169
175
 
170
176
  - Fixed duplicate notifications
171
177
  - Added support for `connection_pool`
172
178
  - Added `exclude` option
173
179
 
174
- ## 2.1.0
180
+ ## 2.1.0 (2017-01-15)
175
181
 
176
182
  - Background reindexing and queues are officially supported
177
183
  - Log updates and deletes
178
184
 
179
- ## 2.0.4
185
+ ## 2.0.4 (2017-01-15)
180
186
 
181
187
  - Added support for queuing updates [experimental]
182
188
  - Added `refresh_interval` option to `reindex`
183
189
  - Prefer `search_index` over `searchkick_index`
184
190
 
185
- ## 2.0.3
191
+ ## 2.0.3 (2017-01-12)
186
192
 
187
193
  - Added `async` option to `reindex` [experimental]
188
194
  - Added `misspellings?` method to results
189
195
 
190
- ## 2.0.2
196
+ ## 2.0.2 (2017-01-08)
191
197
 
192
198
  - Added `retain` option to `reindex`
193
199
  - Added support for attributes in highlight tags
194
200
  - Fixed potentially silent errors in reindex job
195
201
  - Improved syntax for `boost_by_distance`
196
202
 
197
- ## 2.0.1
203
+ ## 2.0.1 (2016-12-30)
198
204
 
199
205
  - Added `search_hit` and `search_highlights` methods to models
200
206
  - Improved reindex performance
201
207
 
202
- ## 2.0.0
208
+ ## 2.0.0 (2016-12-28)
203
209
 
204
210
  - Added support for `reindex` on associations
205
211
 
@@ -218,75 +224,75 @@ Breaking changes
218
224
  - The `unsearchable` and `only_analyzed` options have been removed in favor of `searchable` and `filterable`
219
225
  - `load: false` no longer returns an array in Elasticsearch 2
220
226
 
221
- ## 1.5.1
227
+ ## 1.5.1 (2016-12-28)
222
228
 
223
229
  - Added `client_options`
224
230
  - Added `refresh` option to `reindex` method
225
231
  - Improved syntax for partial reindex
226
232
 
227
- ## 1.5.0
233
+ ## 1.5.0 (2016-12-23)
228
234
 
229
235
  - Added support for geo shape indexing and queries
230
236
  - Added `_and`, `_or`, `_not` to `where` option
231
237
 
232
- ## 1.4.2
238
+ ## 1.4.2 (2016-12-21)
233
239
 
234
240
  - Added support for directional synonyms
235
241
  - Easier AWS setup
236
242
  - Fixed `total_docs` method for ES 5+
237
243
  - Fixed exception on update errors
238
244
 
239
- ## 1.4.1
245
+ ## 1.4.1 (2016-12-11)
240
246
 
241
247
  - Added `partial_reindex` method
242
248
  - Added `debug` option to `search` method
243
249
  - Added `profile` option
244
250
 
245
- ## 1.4.0
251
+ ## 1.4.0 (2016-10-26)
246
252
 
247
253
  - Official support for Elasticsearch 5
248
254
  - Boost exact matches for partial matching
249
255
  - Added `searchkick_debug` method
250
256
  - Added `geo_polygon` filter
251
257
 
252
- ## 1.3.6
258
+ ## 1.3.6 (2016-10-08)
253
259
 
254
260
  - Fixed `Job adapter not found` error
255
261
 
256
- ## 1.3.5
262
+ ## 1.3.5 (2016-09-27)
257
263
 
258
264
  - Added support for Elasticsearch 5.0 beta
259
265
  - Added `request_params` option
260
266
  - Added `filterable` option
261
267
 
262
- ## 1.3.4
268
+ ## 1.3.4 (2016-08-23)
263
269
 
264
270
  - Added `resume` option to reindex
265
271
  - Added search timeout to payload
266
272
 
267
- ## 1.3.3
273
+ ## 1.3.3 (2016-08-02)
268
274
 
269
275
  - Fix for namespaced models (broken in 1.3.2)
270
276
 
271
- ## 1.3.2
277
+ ## 1.3.2 (2016-08-01)
272
278
 
273
279
  - Added `body_options` option
274
280
  - Added `date_histogram` aggregation
275
281
  - Added `indices_boost` option
276
282
  - Added support for multiple conversions
277
283
 
278
- ## 1.3.1
284
+ ## 1.3.1 (2016-07-10)
279
285
 
280
286
  - Fixed error with Ruby 2.0
281
287
  - Fixed error with indexing large fields
282
288
 
283
- ## 1.3.0
289
+ ## 1.3.0 (2016-05-04)
284
290
 
285
291
  - Added support for Elasticsearch 5.0 alpha
286
292
  - Added support for phrase matches
287
293
  - Added support for procs for `index_prefix` option
288
294
 
289
- ## 1.2.1
295
+ ## 1.2.1 (2016-02-15)
290
296
 
291
297
  - Added `multi_search` method
292
298
  - Added support for routing for Elasticsearch 2
@@ -294,7 +300,7 @@ Breaking changes
294
300
  - Fixed error with instrumentation for searching multiple models
295
301
  - Fixed instrumentation for bulk updates
296
302
 
297
- ## 1.2.0
303
+ ## 1.2.0 (2016-02-03)
298
304
 
299
305
  - Fixed deprecation warnings with `alias_method_chain`
300
306
  - Added `analyzed_only` option for large text fields
@@ -302,18 +308,18 @@ Breaking changes
302
308
  - Fixed issue in `similar` method with `per_page` option
303
309
  - Added basic support for multiple models
304
310
 
305
- ## 1.1.2
311
+ ## 1.1.2 (2015-12-18)
306
312
 
307
313
  - Added bulk updates with `callbacks` method
308
314
  - Added `bulk_delete` method
309
315
  - Added `search_timeout` option
310
316
  - Fixed bug with new location format for `boost_by_distance`
311
317
 
312
- ## 1.1.1
318
+ ## 1.1.1 (2015-12-14)
313
319
 
314
320
  - Added support for `{lat: lat, lon: lon}` as preferred format for locations
315
321
 
316
- ## 1.1.0
322
+ ## 1.1.0 (2015-12-08)
317
323
 
318
324
  - Added `below` option to misspellings to improve performance
319
325
  - Fixed synonyms for `word_*` partial matches
@@ -323,25 +329,25 @@ Breaking changes
323
329
  - Added `word` option
324
330
  - Added highlighted fields to `load: false`
325
331
 
326
- ## 1.0.3
332
+ ## 1.0.3 (2015-11-27)
327
333
 
328
334
  - Added support for Elasticsearch 2.1
329
335
 
330
- ## 1.0.2
336
+ ## 1.0.2 (2015-11-15)
331
337
 
332
338
  - Throw `Searchkick::ImportError` for errors when importing records
333
339
  - Errors now inherit from `Searchkick::Error`
334
340
  - Added `order` option to aggregations
335
341
  - Added `mapping` method
336
342
 
337
- ## 1.0.1
343
+ ## 1.0.1 (2015-11-05)
338
344
 
339
345
  - Added aggregations method to get raw response
340
346
  - Use `execute: false` for lazy loading
341
347
  - Return nil when no aggs
342
348
  - Added emoji search
343
349
 
344
- ## 1.0.0
350
+ ## 1.0.0 (2015-10-30)
345
351
 
346
352
  - Added support for Elasticsearch 2.0
347
353
  - Added support for aggregations
@@ -355,7 +361,7 @@ Breaking changes
355
361
  - Enabled misspellings by default for partial matches
356
362
  - Enabled transpositions by default for misspellings
357
363
 
358
- ## 0.9.1
364
+ ## 0.9.1 (2015-08-31)
359
365
 
360
366
  - `and` now matches `&`
361
367
  - Added `transpositions` option to misspellings
@@ -363,18 +369,18 @@ Breaking changes
363
369
  - Added `prefix_length` option to `misspellings`
364
370
  - Added ability to set env
365
371
 
366
- ## 0.9.0
372
+ ## 0.9.0 (2015-06-07)
367
373
 
368
374
  - Much better performance for where queries if no facets
369
375
  - Added basic support for regex
370
376
  - Added support for routing
371
377
  - Made `Searchkick.disable_callbacks` thread-safe
372
378
 
373
- ## 0.8.7
379
+ ## 0.8.7 (2015-02-14)
374
380
 
375
381
  - Fixed Mongoid import
376
382
 
377
- ## 0.8.6
383
+ ## 0.8.6 (2015-02-10)
378
384
 
379
385
  - Added support for NoBrainer
380
386
  - Added `stem_conversions: false` option
@@ -383,26 +389,26 @@ Breaking changes
383
389
  - Fixed suggestions with partial match boost
384
390
  - Fixed redefining existing instance methods in models
385
391
 
386
- ## 0.8.5
392
+ ## 0.8.5 (2014-11-11)
387
393
 
388
394
  - Added support for Elasticsearch 1.4
389
395
  - Added `unsearchable` option
390
396
  - Added `select: true` option
391
397
  - Added `body` option
392
398
 
393
- ## 0.8.4
399
+ ## 0.8.4 (2014-11-05)
394
400
 
395
401
  - Added `boost_by_distance`
396
402
  - More flexible highlight options
397
403
  - Better `env` logic
398
404
 
399
- ## 0.8.3
405
+ ## 0.8.3 (2014-09-20)
400
406
 
401
407
  - Added support for ActiveJob
402
408
  - Added `timeout` setting
403
409
  - Fixed import with no records
404
410
 
405
- ## 0.8.2
411
+ ## 0.8.2 (2014-08-18)
406
412
 
407
413
  - Added `async` to `callbacks` option
408
414
  - Added `wordnet` option
@@ -410,17 +416,17 @@ Breaking changes
410
416
  - Catch misspelling of `misspellings` option
411
417
  - Improved logging
412
418
 
413
- ## 0.8.1
419
+ ## 0.8.1 (2014-08-16)
414
420
 
415
421
  - Added `search_method_name` option
416
422
  - Fixed `order` for array of hashes
417
423
  - Added support for Mongoid 2
418
424
 
419
- ## 0.8.0
425
+ ## 0.8.0 (2014-07-12)
420
426
 
421
427
  - Added support for Elasticsearch 1.2
422
428
 
423
- ## 0.7.9
429
+ ## 0.7.9 (2014-06-30)
424
430
 
425
431
  - Added `tokens` method
426
432
  - Added `json` option
@@ -428,86 +434,86 @@ Breaking changes
428
434
  - Added `prev_page` for Kaminari pagination
429
435
  - Added `import` option to reindex
430
436
 
431
- ## 0.7.8
437
+ ## 0.7.8 (2014-06-22)
432
438
 
433
439
  - Added `boost_by` and `boost_where` options
434
440
  - Added ability to boost fields - `name^10`
435
441
  - Added `select` option for `load: false`
436
442
 
437
- ## 0.7.7
443
+ ## 0.7.7 (2014-06-10)
438
444
 
439
445
  - Added support for automatic failover
440
446
  - Fixed `operator` option (and default) for partial matches
441
447
 
442
- ## 0.7.6
448
+ ## 0.7.6 (2014-05-20)
443
449
 
444
450
  - Added `stats` option to facets
445
451
  - Added `padding` option
446
452
 
447
- ## 0.7.5
453
+ ## 0.7.5 (2014-05-13)
448
454
 
449
455
  - Do not throw errors when index becomes out of sync with database
450
456
  - Added custom exception types
451
457
  - Fixed `offset` and `offset_value`
452
458
 
453
- ## 0.7.4
459
+ ## 0.7.4 (2014-05-06)
454
460
 
455
461
  - Fixed reindex with inheritance
456
462
 
457
- ## 0.7.3
463
+ ## 0.7.3 (2014-04-30)
458
464
 
459
465
  - Fixed multi-index searches
460
466
  - Fixed suggestions for partial matches
461
467
  - Added `offset` and `length` for improved pagination
462
468
 
463
- ## 0.7.2
469
+ ## 0.7.2 (2014-04-24)
464
470
 
465
471
  - Added smart facets
466
472
  - Added more fields to `load: false` result
467
473
  - Fixed logging for multi-index searches
468
474
  - Added `first_page?` and `last_page?` for improved Kaminari support
469
475
 
470
- ## 0.7.1
476
+ ## 0.7.1 (2014-04-12)
471
477
 
472
478
  - Fixed huge issue w/ zero-downtime reindexing on 0.90
473
479
 
474
- ## 0.7.0
480
+ ## 0.7.0 (2014-04-10)
475
481
 
476
482
  - Added support for Elasticsearch 1.1
477
483
  - Dropped support for Elasticsearch below 0.90.4 (unfortunate side effect of above)
478
484
 
479
- ## 0.6.3
485
+ ## 0.6.3 (2014-04-08)
480
486
 
481
487
  - Removed patron since no support for Windows
482
488
  - Added error if `searchkick` is called multiple times
483
489
 
484
- ## 0.6.2
490
+ ## 0.6.2 (2014-04-05)
485
491
 
486
492
  - Added logging
487
493
  - Fixed index_name option
488
494
  - Added ability to use proc as the index name
489
495
 
490
- ## 0.6.1
496
+ ## 0.6.1 (2014-03-24)
491
497
 
492
498
  - Fixed huge issue w/ zero-downtime reindexing on 0.90 and elasticsearch-ruby 1.0
493
499
  - Restore load: false behavior
494
500
  - Restore total_entries method
495
501
 
496
- ## 0.6.0
502
+ ## 0.6.0 (2014-03-22)
497
503
 
498
504
  - Moved to elasticsearch-ruby
499
505
  - Added support for modifying the query and viewing the response
500
506
  - Added support for page_entries_info method
501
507
 
502
- ## 0.5.3
508
+ ## 0.5.3 (2014-02-24)
503
509
 
504
510
  - Fixed bug w/ word_* queries
505
511
 
506
- ## 0.5.2
512
+ ## 0.5.2 (2014-02-12)
507
513
 
508
514
  - Use after_commit hook for ActiveRecord to prevent data inconsistencies
509
515
 
510
- ## 0.5.1
516
+ ## 0.5.1 (2014-02-12)
511
517
 
512
518
  - Replaced stop words with common terms query
513
519
  - Added language option
@@ -515,89 +521,89 @@ Breaking changes
515
521
  - Fixed bug with MongoDB integer _id
516
522
  - Fixed reindex bug when callbacks disabled
517
523
 
518
- ## 0.5.0
524
+ ## 0.5.0 (2014-01-20)
519
525
 
520
526
  - Better control over partial matches
521
527
  - Added merge_mappings option
522
528
  - Added batch_size option
523
529
  - Fixed bug with nil where clauses
524
530
 
525
- ## 0.4.2
531
+ ## 0.4.2 (2013-12-29)
526
532
 
527
533
  - Added `should_index?` method to control which records are indexed
528
534
  - Added ability to temporarily disable callbacks
529
535
  - Added custom mappings
530
536
 
531
- ## 0.4.1
537
+ ## 0.4.1 (2013-12-19)
532
538
 
533
539
  - Fixed issue w/ inheritance mapping
534
540
 
535
- ## 0.4.0
541
+ ## 0.4.0 (2013-12-11)
536
542
 
537
543
  - Added support for Mongoid 4
538
544
  - Added support for multiple locations
539
545
 
540
- ## 0.3.5
546
+ ## 0.3.5 (2013-12-08)
541
547
 
542
548
  - Added facet ranges
543
549
  - Added all operator
544
550
 
545
- ## 0.3.4
551
+ ## 0.3.4 (2013-11-22)
546
552
 
547
553
  - Added highlighting
548
554
  - Added :distance option to misspellings
549
555
  - Fixed issue w/ BigDecimal serialization
550
556
 
551
- ## 0.3.3
557
+ ## 0.3.3 (2013-11-04)
552
558
 
553
559
  - Better error messages
554
560
  - Added where: {field: nil} queries
555
561
 
556
- ## 0.3.2
562
+ ## 0.3.2 (2013-11-02)
557
563
 
558
564
  - Added support for single table inheritance
559
565
  - Removed Tire::Model::Search
560
566
 
561
- ## 0.3.1
567
+ ## 0.3.1 (2013-11-02)
562
568
 
563
569
  - Added index_prefix option
564
570
  - Fixed ES issue with incorrect facet counts
565
571
  - Added option to turn off special characters
566
572
 
567
- ## 0.3.0
573
+ ## 0.3.0 (2013-11-02)
568
574
 
569
575
  - Fixed reversed coordinates
570
576
  - Added bounded by a box queries
571
577
  - Expanded `or` queries
572
578
 
573
- ## 0.2.8
579
+ ## 0.2.8 (2013-09-30)
574
580
 
575
581
  - Added option to disable callbacks
576
582
  - Fixed bug with facets with Elasticsearch 0.90.5
577
583
 
578
- ## 0.2.7
584
+ ## 0.2.7 (2013-09-23)
579
585
 
580
586
  - Added limit to facet
581
587
  - Improved similar items
582
588
 
583
- ## 0.2.6
589
+ ## 0.2.6 (2013-09-10)
584
590
 
585
591
  - Added option to disable misspellings
586
592
 
587
- ## 0.2.5
593
+ ## 0.2.5 (2013-08-30)
588
594
 
589
595
  - Added geospartial searches
590
596
  - Create alias before importing document if no alias exists
591
597
  - Fixed exception when :per_page option is a string
592
598
  - Check `RAILS_ENV` if `RACK_ENV` is not set
593
599
 
594
- ## 0.2.4
600
+ ## 0.2.4 (2013-08-20)
595
601
 
596
602
  - Use `to_hash` instead of `as_json` for default `search_data` method
597
603
  - Works for Mongoid 1.3
598
604
  - Use one shard in test environment for consistent scores
599
605
 
600
- ## 0.2.3
606
+ ## 0.2.3 (2013-08-16)
601
607
 
602
608
  - Setup Travis
603
609
  - Clean old indices before reindex
@@ -605,33 +611,33 @@ Breaking changes
605
611
  - Fixed pagination
606
612
  - Added `similar` method
607
613
 
608
- ## 0.2.2
614
+ ## 0.2.2 (2013-08-11)
609
615
 
610
616
  - Clean old indices after reindex
611
617
  - More expansions for fuzzy queries
612
618
 
613
- ## 0.2.1
619
+ ## 0.2.1 (2013-08-11)
614
620
 
615
621
  - Added Rails logger
616
622
  - Only fetch ids when `load: true`
617
623
 
618
- ## 0.2.0
624
+ ## 0.2.0 (2013-08-10)
619
625
 
620
626
  - Added autocomplete
621
627
  - Added “Did you mean” suggestions
622
628
  - Added personalized searches
623
629
 
624
- ## 0.1.4
630
+ ## 0.1.4 (2013-08-03)
625
631
 
626
632
  - Bug fix
627
633
 
628
- ## 0.1.3
634
+ ## 0.1.3 (2013-08-03)
629
635
 
630
636
  - Changed edit distance to one for misspellings
631
637
  - Raise errors when indexing fails
632
638
  - Fixed pagination
633
639
  - Fixed :include option
634
640
 
635
- ## 0.1.2
641
+ ## 0.1.2 (2013-07-30)
636
642
 
637
643
  - Launch
data/README.md CHANGED
@@ -4,6 +4,12 @@
4
4
 
5
5
  **Searchkick learns what your users are looking for.** As more people search, it gets smarter and the results get better. It’s friendly for developers - and magical for your users.
6
6
 
7
+ ---
8
+
9
+ [Searchkick Pro](https://searchkick.org/pro?utm_source=readme) is now available!
10
+
11
+ ---
12
+
7
13
  Searchkick handles:
8
14
 
9
15
  - stemming - `tomatoes` matches `tomato`
@@ -24,6 +30,8 @@ Plus:
24
30
 
25
31
  :tangerine: Battle-tested at [Instacart](https://www.instacart.com/opensource)
26
32
 
33
+ :speech_balloon: Get [handcrafted updates](https://chartkick.us7.list-manage.com/subscribe?u=952c861f99eb43084e0a49f98&id=6ea6541e8e&group[0][4]=true) for new features
34
+
27
35
  [![Build Status](https://travis-ci.org/ankane/searchkick.svg?branch=master)](https://travis-ci.org/ankane/searchkick)
28
36
 
29
37
  ## Contents
@@ -129,6 +137,8 @@ Limit / offset
129
137
  limit: 20, offset: 40
130
138
  ```
131
139
 
140
+ **Note:** By default, Elasticsearch [limits pagination](#deep-pagination) to the first 10,000 results for performance
141
+
132
142
  Select
133
143
 
134
144
  ```ruby
@@ -308,10 +318,12 @@ end
308
318
  A few languages require plugins:
309
319
 
310
320
  - `chinese` - [analysis-ik plugin](https://github.com/medcl/elasticsearch-analysis-ik)
311
- - `japanese` - [analysis-kuromoji plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-kuromoji.html)
321
+ - `chinese2` - [analysis-smartcn plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-smartcn.html)
322
+ - `japanese` - [analysis-kuromoji plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-kuromoji.html)
312
323
  - `korean` - [analysis-openkoreantext plugin](https://github.com/open-korean-text/elasticsearch-analysis-openkoreantext)
313
- - `polish` - [analysis-stempel plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-stempel.html)
314
- - `ukrainian` - [analysis-ukrainian plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/6.2/analysis-ukrainian.html)
324
+ - `korean2` - [analysis-nori plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-nori.html)
325
+ - `polish` - [analysis-stempel plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-stempel.html)
326
+ - `ukrainian` - [analysis-ukrainian plugin](https://www.elastic.co/guide/en/elasticsearch/plugins/7.4/analysis-ukrainian.html)
315
327
  - `vietnamese` - [analysis-vietnamese plugin](https://github.com/duydo/elasticsearch-analysis-vietnamese)
316
328
 
317
329
  ### Synonyms
@@ -1067,7 +1079,7 @@ heroku run rake searchkick:reindex CLASS=Product
1067
1079
  Create an initializer `config/initializers/elasticsearch.rb` with:
1068
1080
 
1069
1081
  ```ruby
1070
- ENV["ELASTICSEARCH_URL"] = "https://es-domain-1234.us-east-1.es.amazonaws.com"
1082
+ ENV["ELASTICSEARCH_URL"] = "https://es-domain-1234.us-east-1.es.amazonaws.com:443"
1071
1083
  ```
1072
1084
 
1073
1085
  To use signed requests, include in your Gemfile:
@@ -1097,7 +1109,7 @@ rake searchkick:reindex CLASS=Product
1097
1109
  Create an initializer `config/initializers/elasticsearch.rb` with:
1098
1110
 
1099
1111
  ```ruby
1100
- ENV["ELASTICSEARCH_URL"] = "https://user:password@host"
1112
+ ENV["ELASTICSEARCH_URL"] = "https://user:password@host:port"
1101
1113
  ```
1102
1114
 
1103
1115
  Then deploy and reindex:
@@ -1506,6 +1518,22 @@ end
1506
1518
  products.clear_scroll
1507
1519
  ```
1508
1520
 
1521
+ ## Deep Pagination
1522
+
1523
+ By default, Elasticsearch limits pagination to the first 10,000 results [for performance](https://www.elastic.co/guide/en/elasticsearch/guide/current/pagination.html). We don’t recommend changing this, but if you need to, you can use:
1524
+
1525
+ ```ruby
1526
+ class Product < ApplicationRecord
1527
+ searchkick settings: {index: {max_result_window: 1000000000}}
1528
+ end
1529
+ ```
1530
+
1531
+ And search with:
1532
+
1533
+ ```ruby
1534
+ Product.search("pears", limit: 1000000000, body_options: {track_total_hits: true})
1535
+ ```
1536
+
1509
1537
  ## Nested Data
1510
1538
 
1511
1539
  To query nested data, use dot notation.
@@ -87,6 +87,8 @@ module Searchkick
87
87
  # TODO expire Redis key
88
88
  primary_key = scope.primary_key
89
89
 
90
+ scope = scope.select(primary_key).except(:includes, :preload)
91
+
90
92
  starting_id =
91
93
  begin
92
94
  scope.minimum(primary_key)
@@ -168,6 +168,20 @@ module Searchkick
168
168
  }
169
169
  )
170
170
 
171
+ stem = false
172
+ when "chinese2", "smartcn"
173
+ settings[:analysis][:analyzer].merge!(
174
+ default_analyzer => {
175
+ type: "smartcn"
176
+ },
177
+ searchkick_search: {
178
+ type: "smartcn"
179
+ },
180
+ searchkick_search2: {
181
+ type: "smartcn"
182
+ }
183
+ )
184
+
171
185
  stem = false
172
186
  when "japanese"
173
187
  settings[:analysis][:analyzer].merge!(
@@ -196,6 +210,20 @@ module Searchkick
196
210
  }
197
211
  )
198
212
 
213
+ stem = false
214
+ when "korean2"
215
+ settings[:analysis][:analyzer].merge!(
216
+ default_analyzer => {
217
+ type: "nori"
218
+ },
219
+ searchkick_search: {
220
+ type: "nori"
221
+ },
222
+ searchkick_search2: {
223
+ type: "nori"
224
+ }
225
+ )
226
+
199
227
  stem = false
200
228
  when "vietnamese"
201
229
  settings[:analysis][:analyzer].merge!(
@@ -211,7 +239,7 @@ module Searchkick
211
239
  )
212
240
 
213
241
  stem = false
214
- when "polish", "ukrainian", "smartcn"
242
+ when "polish", "ukrainian"
215
243
  settings[:analysis][:analyzer].merge!(
216
244
  default_analyzer => {
217
245
  type: language
@@ -435,8 +435,9 @@ module Searchkick
435
435
  if models.any? { |m| m != m.searchkick_klass }
436
436
  Searchkick.warn("Passing child models to models option throws off hits and pagination - use type option instead")
437
437
 
438
- # uncomment once aliases are supported with _index
439
- # see https://github.com/elastic/elasticsearch/issues/23306
438
+ # TODO uncomment once aliases are supported with _index
439
+ # should be ES 7.5
440
+ # see https://github.com/elastic/elasticsearch/pull/46640
440
441
  # index_type_or =
441
442
  # models.map do |m|
442
443
  # v = {_index: m.searchkick_index.name}
@@ -1,3 +1,3 @@
1
1
  module Searchkick
2
- VERSION = "4.1.0"
2
+ VERSION = "4.1.1"
3
3
  end
@@ -16,7 +16,13 @@ namespace :searchkick do
16
16
  namespace :reindex do
17
17
  desc "reindex all models"
18
18
  task all: :environment do
19
- Rails.application.eager_load!
19
+ if Rails.respond_to?(:autoloaders) && Rails.autoloaders.zeitwerk_enabled?
20
+ # fix for https://github.com/rails/rails/issues/37006
21
+ Zeitwerk::Loader.eager_load_all
22
+ else
23
+ Rails.application.eager_load!
24
+ end
25
+
20
26
  Searchkick.models.each do |model|
21
27
  puts "Reindexing #{model.name}..."
22
28
  model.reindex
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: searchkick
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-01 00:00:00.000000000 Z
11
+ date: 2019-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -145,7 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
145
145
  - !ruby/object:Gem::Version
146
146
  version: '0'
147
147
  requirements: []
148
- rubygems_version: 3.0.4
148
+ rubygems_version: 3.0.6
149
149
  signing_key:
150
150
  specification_version: 4
151
151
  summary: Intelligent search made easy with Rails and Elasticsearch