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,6 +36,18 @@ module Searchkick | ||
36 | end | 36 | end |
37 | end | 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 | private | 51 | private |
40 | 52 | ||
41 | def import_or_update(records, method_name, async) | 53 | def import_or_update(records, method_name, async) |
@@ -51,7 +63,7 @@ module Searchkick | @@ -51,7 +63,7 @@ module Searchkick | ||
51 | records = records.select(&:should_index?) | 63 | records = records.select(&:should_index?) |
52 | if records.any? | 64 | if records.any? |
53 | with_retries do | 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 | end | 67 | end |
56 | end | 68 | end |
57 | end | 69 | end |
lib/searchkick/index.rb
@@ -77,28 +77,28 @@ module Searchkick | @@ -77,28 +77,28 @@ module Searchkick | ||
77 | # use helpers for notifications | 77 | # use helpers for notifications |
78 | 78 | ||
79 | def store(record) | 79 | def store(record) |
80 | - bulk_index_helper([record]) | 80 | + bulk_indexer.bulk_index([record]) |
81 | end | 81 | end |
82 | 82 | ||
83 | def remove(record) | 83 | def remove(record) |
84 | - bulk_delete_helper([record]) | 84 | + bulk_indexer.bulk_delete([record]) |
85 | end | 85 | end |
86 | 86 | ||
87 | def update_record(record, method_name) | 87 | def update_record(record, method_name) |
88 | - bulk_update_helper([record], method_name) | 88 | + bulk_indexer.bulk_update([record], method_name) |
89 | end | 89 | end |
90 | 90 | ||
91 | def bulk_delete(records) | 91 | def bulk_delete(records) |
92 | - bulk_delete_helper(records) | 92 | + bulk_indexer.bulk_delete(records) |
93 | end | 93 | end |
94 | 94 | ||
95 | def bulk_index(records) | 95 | def bulk_index(records) |
96 | - bulk_index_helper(records) | 96 | + bulk_indexer.bulk_index(records) |
97 | end | 97 | end |
98 | alias_method :import, :bulk_index | 98 | alias_method :import, :bulk_index |
99 | 99 | ||
100 | def bulk_update(records, method_name) | 100 | def bulk_update(records, method_name) |
101 | - bulk_update_helper(records, method_name) | 101 | + bulk_indexer.bulk_update(records, method_name) |
102 | end | 102 | end |
103 | 103 | ||
104 | def retrieve(record) | 104 | def retrieve(record) |
@@ -327,17 +327,5 @@ module Searchkick | @@ -327,17 +327,5 @@ module Searchkick | ||
327 | def bulk_indexer | 327 | def bulk_indexer |
328 | @bulk_indexer ||= BulkIndexer.new(self) | 328 | @bulk_indexer ||= BulkIndexer.new(self) |
329 | end | 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 | end | 330 | end |
343 | end | 331 | end |