Module: IndexTanked::ActiveRecordDefaults::ClassMethods
- Defined in:
- lib/index-tanked/active_record_defaults/class_methods.rb
Instance Method Summary collapse
- #add_all_to_index_tank(options = {}) ⇒ Object
- #delete_doc_ids_from_index_tank(doc_ids) ⇒ Object
- #index_tank(options = {}, &block) ⇒ Object
-
#search_index_tank(query, options = {}) ⇒ Object
pass in scoped with an empty hash to give the search result a representation of the current scope.
Instance Method Details
#add_all_to_index_tank(options = {}) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/index-tanked/active_record_defaults/class_methods.rb', line 15 def add_all_to_index_tank(={}) [:batch_size] ||= 50 [:select] ||= index_tanked.dependent_fields_for_select count = 0 find_in_batches() do |instances| documents = instances.map { |instance| instance.index_tanked.document_for_batch_addition } documents = documents.flatten.compact count += documents.size index_tanked.retry_on_error(:times => 5, :delay_multiplier => 2) do index_tanked.index.batch_insert(documents) end end count end |
#delete_doc_ids_from_index_tank(doc_ids) ⇒ Object
30 31 32 33 34 |
# File 'lib/index-tanked/active_record_defaults/class_methods.rb', line 30 def delete_doc_ids_from_index_tank(doc_ids) doc_ids.each do |doc_id| delete_from_index_tank(doc_id) end end |
#index_tank(options = {}, &block) ⇒ Object
5 6 7 8 |
# File 'lib/index-tanked/active_record_defaults/class_methods.rb', line 5 def index_tank(={}, &block) @index_tanked ||= ClassCompanion.new(self, ) @index_tanked.instance_exec &block end |
#search_index_tank(query, options = {}) ⇒ Object
pass in scoped with an empty hash to give the search result a representation of the current scope
11 12 13 |
# File 'lib/index-tanked/active_record_defaults/class_methods.rb', line 11 def search_index_tank(query, ={}) SearchResult.new(index_tanked.add_fields_to_query(query, ), @index_tanked.index, scoped({}), ) end |