Commit 0d8b5166e3e7d5bce925cfe63c08d3f71c4d09a9

Authored by Andrew
1 parent aaf41f0e

Moved to bulk indexer [skip ci]

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
... ...