class Elastic::Nodes::Match

Constants

MATCH_MODES

Attributes

mode[R]
query[RW]

Public Instance Methods

clone() click to toggle source
# File lib/elastic/nodes/match.rb, line 22
def clone
  prepare_clone(super)
end
mode=(_value) click to toggle source
# File lib/elastic/nodes/match.rb, line 16
def mode=(_value)
  _value = _value.try(:to_sym)
  raise ArgumentError, 'invalid match mode' if !_value.nil? && !MATCH_MODES.include?(_value)
  @mode = _value
end
query=(_query) click to toggle source
# File lib/elastic/nodes/match.rb, line 11
def query=(_query)
  raise ArgumentError, 'query must be a string' unless _query.is_a? String
  @query = _query
end
render(_options = {}) click to toggle source
# File lib/elastic/nodes/match.rb, line 30
def render(_options = {})
  hash = { 'query' => @query }

  match_mode = @mode.nil? || @mode == :boolean ? 'match' : "match_#{@mode}"

  { match_mode => { render_field(_options) => render_boost(hash) } }
end
simplify() click to toggle source
# File lib/elastic/nodes/match.rb, line 26
def simplify
  prepare_clone(super)
end

Private Instance Methods

prepare_clone(_clone) click to toggle source
# File lib/elastic/nodes/match.rb, line 40
def prepare_clone(_clone)
  _clone.field = @field
  _clone.query = @query
  _clone.mode = @mode
  _clone
end