class Elastic::Nodes::Search
Attributes
offset[RW]
query[RW]
Public Class Methods
build(_query)
click to toggle source
# File lib/elastic/nodes/search.rb, line 8 def self.build(_query) new.tap { |n| n.query = _query } end
Public Instance Methods
clone()
click to toggle source
Calls superclass method
Elastic::Nodes::Concerns::HitProvider#clone
# File lib/elastic/nodes/search.rb, line 25 def clone prepare_clone(super, @query.clone) end
handle_result(_raw, _formatter)
click to toggle source
# File lib/elastic/nodes/search.rb, line 33 def handle_result(_raw, _formatter) Elastic::Results::Root.new( _raw['hits'] ? prepare_hits(_raw['hits']['hits'], _formatter) : [], _raw['hits'] ? _raw['hits']['total'] : 0, _raw['aggregations'] ? load_aggs_results(_raw['aggregations'], _formatter) : {} ) end
render(_options = {})
click to toggle source
# File lib/elastic/nodes/search.rb, line 17 def render(_options = {}) { "query" => @query.render(_options) }.tap do |hash| hash["from"] = @offset if offset && offset > 0 render_hit_options(hash) render_aggs(hash, _options) end end
simplify()
click to toggle source
Calls superclass method
Elastic::Nodes::Concerns::HitProvider#simplify
# File lib/elastic/nodes/search.rb, line 29 def simplify prepare_clone(super, @query.simplify) end
traverse(&_block)
click to toggle source
Calls superclass method
Elastic::Nodes::Concerns::Aggregable#traverse
# File lib/elastic/nodes/search.rb, line 12 def traverse(&_block) super @query.traverse(&_block) end
Private Instance Methods
prepare_clone(_clone, _query)
click to toggle source
# File lib/elastic/nodes/search.rb, line 43 def prepare_clone(_clone, _query) _clone.query = _query _clone.offset = @offset _clone end