Class: MmEsSearch::Api::Facet::TermsFacet

Inherits:
AbstractFacet show all
Defined in:
lib/mm_es_search/api/facet/terms_facet.rb

Instance Method Summary collapse

Instance Method Details

#qualified_field(field_name) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/mm_es_search/api/facet/terms_facet.rb', line 22

def qualified_field(field_name)
  if path.present?
    [path, field_name].join(".")
  else
    field_name
  end
end

#to_es_queryObject



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/mm_es_search/api/facet/terms_facet.rb', line 30

def to_es_query
  
  mod_field = case field
  when Array
    field.map { |fname| qualified_field(fname) }
  when String
    qualified_field(field)
  end
  
  term_params = {}
  term_params.merge!(:field => mod_field)           if field.is_a?(String)
  term_params.merge!(:fields => mod_field)          if field.is_a?(Array)
  term_params.merge!(:size => size)                 if (size? and size != 10)
  term_params.merge!(:order => order)               if (order? and order != "count")
  term_params.merge!(:exclude => exclude)           unless exclude.empty?
  term_params.merge!(:script_field => script_field) if script_field?
  term_params.merge!(:regex => regex)               if regex?
  term_params.merge!(:regex_flags => script_field)  if regex_flags?
  term_params.merge!(:script => script)             if script?
  term_params.merge!(:params => params)             unless params.empty?
  
  facet_params = {:terms => term_params}.merge(super)
  
  return {label => facet_params}
 
end