Module: Elastics::QueryHelper
- Defined in:
- lib/elastics/query_helper.rb
Instance Method Summary collapse
- #normalize_filters(filters) ⇒ Object
- #normalize_query(query, filters) ⇒ Object
- #terms_query(field, val, options = {}) ⇒ Object
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, = {}) if val.is_a?(Array) {terms: {field => val}.merge()} else result = {term: {field => val}} end end |