Commit 0d8b5166e3e7d5bce925cfe63c08d3f71c4d09a9
1 parent
aaf41f0e
Exists in
master
and in
19 other branches
Moved to bulk indexer [skip ci]
Showing
2 changed files
with
19 additions
and
19 deletions
Show diff stats
lib/searchkick/bulk_indexer.rb
... | ... | @@ -36,6 +36,18 @@ module Searchkick |
36 | 36 | end |
37 | 37 | end |
38 | 38 | |
39 | + def bulk_index(records) | |
40 | + Searchkick.indexer.queue(records.map { |r| RecordData.new(index, r).index_data }) | |
41 | + end | |
42 | + | |
43 | + def bulk_delete(records) | |
44 | + Searchkick.indexer.queue(records.reject { |r| r.id.blank? }.map { |r| RecordData.new(index, r).delete_data }) | |
45 | + end | |
46 | + | |
47 | + def bulk_update(records, method_name) | |
48 | + Searchkick.indexer.queue(records.map { |r| RecordData.new(index, r).update_data(method_name) }) | |
49 | + end | |
50 | + | |
39 | 51 | private |
40 | 52 | |
41 | 53 | def import_or_update(records, method_name, async) |
... | ... | @@ -51,7 +63,7 @@ module Searchkick |
51 | 63 | records = records.select(&:should_index?) |
52 | 64 | if records.any? |
53 | 65 | with_retries do |
54 | - method_name ? index.bulk_update(records, method_name) : index.import(records) | |
66 | + method_name ? bulk_update(records, method_name) : bulk_index(records) | |
55 | 67 | end |
56 | 68 | end |
57 | 69 | end | ... | ... |
lib/searchkick/index.rb
... | ... | @@ -77,28 +77,28 @@ module Searchkick |
77 | 77 | # use helpers for notifications |
78 | 78 | |
79 | 79 | def store(record) |
80 | - bulk_index_helper([record]) | |
80 | + bulk_indexer.bulk_index([record]) | |
81 | 81 | end |
82 | 82 | |
83 | 83 | def remove(record) |
84 | - bulk_delete_helper([record]) | |
84 | + bulk_indexer.bulk_delete([record]) | |
85 | 85 | end |
86 | 86 | |
87 | 87 | def update_record(record, method_name) |
88 | - bulk_update_helper([record], method_name) | |
88 | + bulk_indexer.bulk_update([record], method_name) | |
89 | 89 | end |
90 | 90 | |
91 | 91 | def bulk_delete(records) |
92 | - bulk_delete_helper(records) | |
92 | + bulk_indexer.bulk_delete(records) | |
93 | 93 | end |
94 | 94 | |
95 | 95 | def bulk_index(records) |
96 | - bulk_index_helper(records) | |
96 | + bulk_indexer.bulk_index(records) | |
97 | 97 | end |
98 | 98 | alias_method :import, :bulk_index |
99 | 99 | |
100 | 100 | def bulk_update(records, method_name) |
101 | - bulk_update_helper(records, method_name) | |
101 | + bulk_indexer.bulk_update(records, method_name) | |
102 | 102 | end |
103 | 103 | |
104 | 104 | def retrieve(record) |
... | ... | @@ -327,17 +327,5 @@ module Searchkick |
327 | 327 | def bulk_indexer |
328 | 328 | @bulk_indexer ||= BulkIndexer.new(self) |
329 | 329 | end |
330 | - | |
331 | - def bulk_index_helper(records) | |
332 | - Searchkick.indexer.queue(records.map { |r| RecordData.new(self, r).index_data }) | |
333 | - end | |
334 | - | |
335 | - def bulk_delete_helper(records) | |
336 | - Searchkick.indexer.queue(records.reject { |r| r.id.blank? }.map { |r| RecordData.new(self, r).delete_data }) | |
337 | - end | |
338 | - | |
339 | - def bulk_update_helper(records, method_name) | |
340 | - Searchkick.indexer.queue(records.map { |r| RecordData.new(self, r).update_data(method_name) }) | |
341 | - end | |
342 | 330 | end |
343 | 331 | end | ... | ... |