Class: Ferret::Search::Spans::SpanTermQuery

Inherits:
SpanQuery show all
Defined in:
lib/ferret/search/spans/span_term_query.rb

Overview

Matches spans containing a term.

Defined Under Namespace

Classes: SpanTermEnum

Instance Attribute Summary

Attributes inherited from Query

#boost

Instance Method Summary collapse

Methods inherited from SpanQuery

#create_weight

Methods inherited from Query

#combine, #create_weight, #extract_terms, #merge_boolean_queries, #rewrite, #similarity, #weight

Constructor Details

#initialize(term) ⇒ SpanTermQuery

Construct a SpanTermQuery matching the named term’s spans.



5
6
7
8
# File 'lib/ferret/search/spans/span_term_query.rb', line 5

def initialize(term)
  super()
  @term = term
end

Instance Method Details

#eql?(o) ⇒ Boolean Also known as: ==

Returns true iff o is equal to this.

Returns:

  • (Boolean)


26
27
28
# File 'lib/ferret/search/spans/span_term_query.rb', line 26

def eql?(o) 
  return (o.instance_of?(SpanTermQuery) and boost() == o.boost and @term == o.term)
end

#fieldObject



13
# File 'lib/ferret/search/spans/span_term_query.rb', line 13

def field() @term.field() end

#hashObject

Returns a hash code value for this object.



32
33
34
# File 'lib/ferret/search/spans/span_term_query.rb', line 32

def hash()
  return boost().hash ^ @term.hash
end

#spans(reader) ⇒ Object



36
37
38
# File 'lib/ferret/search/spans/span_term_query.rb', line 36

def spans(reader)
  return SpanTermEnum.new(self, reader)
end

#termObject

Return the term whose spans are matched.



11
# File 'lib/ferret/search/spans/span_term_query.rb', line 11

def term() @term end

#termsObject



15
# File 'lib/ferret/search/spans/span_term_query.rb', line 15

def terms() [@term] end

#to_s(field = nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/ferret/search/spans/span_term_query.rb', line 17

def to_s(field = nil) 
  if @term.field == field
    return @term.text
  else
    return @term.to_s
  end
end