class Elastic::NestedQuery

Attributes

index[R]

Public Class Methods

new(_index, _root = nil) click to toggle source
# File lib/elastic/nested_query.rb, line 7
def initialize(_index, _root = nil)
  @index = _index
  @root = _root || build_root_node
end

Public Instance Methods

as_node() click to toggle source
# File lib/elastic/nested_query.rb, line 16
def as_node
  @root.clone
end
score_mode(_mode) click to toggle source
# File lib/elastic/nested_query.rb, line 12
def score_mode(_mode)
  with_clone { |root| root.score_mode = _mode }
end

Private Instance Methods

build_root_node() click to toggle source
# File lib/elastic/nested_query.rb, line 30
def build_root_node
  Elastic::Nodes::Nested.build(nil, Elastic::Nodes::Boolean.new)
end
with_bool_query(&_block) click to toggle source
# File lib/elastic/nested_query.rb, line 26
def with_bool_query(&_block)
  with_clone { |root| root.child.tap(&_block) }
end
with_clone(&_block) click to toggle source
# File lib/elastic/nested_query.rb, line 22
def with_clone(&_block)
  self.class.new @index, @root.clone.tap(&_block)
end