Module: Elastics::ActiveRecord::HelperMethods::ClassMethods
- Defined in:
- lib/elastics/active_record/helper_methods.rb
Instance Method Summary collapse
- #elastics_mapping ⇒ Object
- #find_all_ordered(ids) ⇒ Object
- #reindex_elastics(*args) ⇒ Object
- #request_elastics(params) ⇒ Object
- #search_elastics(data = {}, options = {}) ⇒ Object
Instance Method Details
#elastics_mapping ⇒ Object
36 37 38 |
# File 'lib/elastics/active_record/helper_methods.rb', line 36 def elastics_mapping request_elastics(method: :get, id: :_mapping) end |
#find_all_ordered(ids) ⇒ Object
31 32 33 34 |
# File 'lib/elastics/active_record/helper_methods.rb', line 31 def find_all_ordered(ids) items_by_id = where(id: ids).index_by(&:id) ids.map { |i| items_by_id[i] } end |
#reindex_elastics(*args) ⇒ Object
40 41 42 |
# File 'lib/elastics/active_record/helper_methods.rb', line 40 def reindex_elastics(*args) find_each(*args, &:index_elastics) end |
#request_elastics(params) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/elastics/active_record/helper_methods.rb', line 11 def request_elastics(params) request = { index: elastics_index_name, type: elastics_type_name, model: self, }.merge!(params) elastics.request(request) end |
#search_elastics(data = {}, options = {}) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/elastics/active_record/helper_methods.rb', line 20 def search_elastics(data = {}, = {}) request = { id: :_search, data: data, } if routing = [:routing] request[:query] = {routing: routing} end SearchResult.new self, request_elastics(request), end |