class Elastic::Nodes::Term
Constants
- BOOLEAN_MODE
Attributes
field[RW]
mode[RW]
Public Instance Methods
clone()
click to toggle source
Calls superclass method
Elastic::Nodes::Concerns::Boostable#clone
# File lib/elastic/nodes/term.rb, line 26 def clone prepare_clone(super) end
mode=(_value)
click to toggle source
# File lib/elastic/nodes/term.rb, line 14 def mode=(_value) if !_value.nil? && !BOOLEAN_MODE.include?(_value) raise ArgumentError, "invalid mode #{_value}" end @mode = _value end
render(_options = {})
click to toggle source
# File lib/elastic/nodes/term.rb, line 34 def render(_options = {}) raise ArgumentError, "terms not provided for #{@field}" if !@terms if @terms.length == 1 { 'term' => { render_field(_options) => render_boost('value' => @terms.first) } } elsif @mode == :all && !@terms.empty? { 'bool' => render_boost( 'must' => @terms.map { |t| { 'term' => { render_field(_options) => t } } } ) } else { 'terms' => render_boost(render_field(_options) => @terms) } end end
simplify()
click to toggle source
Calls superclass method
Elastic::Nodes::Concerns::Boostable#simplify
# File lib/elastic/nodes/term.rb, line 30 def simplify prepare_clone(super) end
terms()
click to toggle source
# File lib/elastic/nodes/term.rb, line 22 def terms @terms.each end
terms=(_terms)
click to toggle source
# File lib/elastic/nodes/term.rb, line 10 def terms=(_terms) @terms = _terms.dup.to_a end
Private Instance Methods
prepare_clone(_clone)
click to toggle source
# File lib/elastic/nodes/term.rb, line 52 def prepare_clone(_clone) _clone.field = @field _clone.terms = @terms _clone.mode = @mode _clone end