Module: Elastics::QueryHelper

Defined in:
lib/elastics/query_helper.rb

Instance Method Summary collapse

Instance Method Details

#normalize_filters(filters) ⇒ Object



3
4
5
6
7
# File 'lib/elastics/query_helper.rb', line 3

def normalize_filters(filters)
  return filters unless filters.is_a?(Array)
  return filters[0] if 2 > filters.size
  {and: {filters: filters}}
end

#normalize_query(query, filters) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/elastics/query_helper.rb', line 9

def normalize_query(query, filters)
  filter = normalize_filters filters
  query ||= {match_all: {}}
  return query unless filter
  {filtered: {
    query:  query,
    filter: filter,
  }}
end

#terms_query(field, val, options = {}) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/elastics/query_helper.rb', line 19

def terms_query(field, val, options = {})
  if val.is_a?(Array)
    {terms: {field => val}.merge(options)}
  else
    result = {term: {field => val}}
  end
end