Class: ElasticsearchDslBuilder::DSL::Search::Queries::Term

Inherits:
Query
  • Object
show all
Defined in:
lib/elasticsearch_dsl_builder/dsl/search/queries/term.rb

Instance Attribute Summary

Attributes inherited from Query

#query, #type

Instance Method Summary collapse

Constructor Details

#initialize(field = nil, value = nil) ⇒ Term

Returns a new instance of Term.



6
7
8
9
10
11
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/term.rb', line 6

def initialize(field = nil, value = nil)
  @type = :term
  field(field) unless field.nil?
  value(value) unless value.nil?
  super()
end

Instance Method Details

#field(field) ⇒ Object

Raises:

  • (ArgumentError)


13
14
15
16
17
18
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/term.rb', line 13

def field(field)
  field_valid = field.instance_of?(String) || field.instance_of?(Symbol)
  raise ArgumentError, 'field must be a String or Symbol' unless field_valid
  @field = field.to_sym
  self
end

#to_hashObject

Raises:



25
26
27
28
29
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/term.rb', line 25

def to_hash
  raise InvalidQuery, 'field and value must be provided for Term Query' unless @field && @value
  @query = { @field => @value }
  super
end

#value(value) ⇒ Object



20
21
22
23
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/term.rb', line 20

def value(value)
  @value = value
  self
end