Module: Sensei::Operators

Included in:
Query
Defined in:
lib/sensei/query.rb

Instance Method Summary collapse

Instance Method Details

#&(x) ⇒ Object



24
25
26
27
28
# File 'lib/sensei/query.rb', line 24

def &(x)
  return self if self == x
  return self if x.is_a? EmptyQuery
  BoolQuery.new(:operands => [self.to_sensei, x.to_sensei], :operation => :must)
end

#*(x) ⇒ Object



40
41
42
# File 'lib/sensei/query.rb', line 40

def *(x)
  self.boost!(x)
end

#boost!(amt) ⇒ Object



48
49
50
# File 'lib/sensei/query.rb', line 48

def boost! amt
  self.to_sensei.tap do |x| x.options[:boost] = amt end
end

#must_notObject



44
45
46
# File 'lib/sensei/query.rb', line 44

def must_not
  BoolQuery.new(:operands => [self.to_sensei], :operation => :must_not)
end

#|(x) ⇒ Object



30
31
32
33
34
# File 'lib/sensei/query.rb', line 30

def |(x)
  return self if self == x
  return self if x.is_a? EmptyQuery
  BoolQuery.new(:operands => [self.to_sensei, x.to_sensei], :operation => :should)
end

#~Object



36
37
38
# File 'lib/sensei/query.rb', line 36

def ~
  self.must_not
end