Module: Elastics::ActiveRecord::HelperMethods::ClassMethods

Defined in:
lib/elastics/active_record/helper_methods.rb

Instance Method Summary collapse

Instance Method Details

#elastics_mappingObject



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 = {}, options = {})
  request = {
    id:   :_search,
    data: data,
  }
  if routing = options[:routing]
    request[:query] = {routing: routing}
  end
  SearchResult.new self, request_elastics(request), options
end