Module: RediSearch::Search::Clauses

Included in:
RediSearch::Search
Defined in:
lib/redi_search/search/clauses.rb,
lib/redi_search/search/clauses/slop.rb,
lib/redi_search/search/clauses/limit.rb,
lib/redi_search/search/clauses/return.rb,
lib/redi_search/search/clauses/sort_by.rb,
lib/redi_search/search/clauses/timeout.rb,
lib/redi_search/search/clauses/in_order.rb,
lib/redi_search/search/clauses/language.rb,
lib/redi_search/search/clauses/verbatim.rb,
lib/redi_search/search/clauses/highlight.rb,
lib/redi_search/search/clauses/no_content.rb,
lib/redi_search/search/clauses/with_scores.rb,
lib/redi_search/search/clauses/no_stop_words.rb,
lib/redi_search/search/clauses/with_payloads.rb,
lib/redi_search/search/clauses/with_sort_keys.rb

Defined Under Namespace

Classes: Highlight, InOrder, Language, Limit, NoContent, NoStopWords, Return, Slop, SortBy, Timeout, Verbatim, WithPayloads, WithScores, WithSortKeys

Instance Method Summary collapse

Instance Method Details

#countObject



64
65
66
67
68
69
70
# File 'lib/redi_search/search/clauses.rb', line 64

def count
  return to_a.size if loaded?

  RediSearch.client.call!(
    "SEARCH", index.name, query.to_s, *Limit.new(total: 0).clause
  ).first
end

#highlight(fields: [], opening_tag: "<b>", closing_tag: "</b>") ⇒ Object



34
35
36
37
38
# File 'lib/redi_search/search/clauses.rb', line 34

def highlight(fields: [], opening_tag: "<b>", closing_tag: "</b>")
  add_to_clauses(Highlight.new(
    fields: fields, opening_tag: opening_tag, closing_tag: closing_tag
  ))
end

#in_orderObject



48
49
50
# File 'lib/redi_search/search/clauses.rb', line 48

def in_order
  add_to_clauses(InOrder.new)
end

#language(language) ⇒ Object



52
53
54
# File 'lib/redi_search/search/clauses.rb', line 52

def language(language)
  add_to_clauses(Language.new(language: language))
end

#limit(total, offset = 0) ⇒ Object



60
61
62
# File 'lib/redi_search/search/clauses.rb', line 60

def limit(total, offset = 0)
  add_to_clauses(Limit.new(total: total, offset: offset))
end

#no_contentObject



6
7
8
# File 'lib/redi_search/search/clauses.rb', line 6

def no_content
  add_to_clauses(NoContent.new)
end

#no_stop_wordsObject



14
15
16
# File 'lib/redi_search/search/clauses.rb', line 14

def no_stop_words
  add_to_clauses(NoStopWords.new)
end

#return(*fields) ⇒ Object



30
31
32
# File 'lib/redi_search/search/clauses.rb', line 30

def return(*fields)
  add_to_clauses(Return.new(fields: fields))
end

#slop(slop) ⇒ Object



40
41
42
# File 'lib/redi_search/search/clauses.rb', line 40

def slop(slop)
  add_to_clauses(Slop.new(slop: slop))
end

#sort_by(field, order: :asc) ⇒ Object



56
57
58
# File 'lib/redi_search/search/clauses.rb', line 56

def sort_by(field, order: :asc)
  add_to_clauses(SortBy.new(field: field, order: order))
end

#timeout(timeout) ⇒ Object



44
45
46
# File 'lib/redi_search/search/clauses.rb', line 44

def timeout(timeout)
  add_to_clauses(Timeout.new(timeout: timeout))
end

#verbatimObject



10
11
12
# File 'lib/redi_search/search/clauses.rb', line 10

def verbatim
  add_to_clauses(Verbatim.new)
end

#with_payloadsObject



22
23
24
# File 'lib/redi_search/search/clauses.rb', line 22

def with_payloads
  add_to_clauses(WithPayloads.new)
end

#with_scoresObject



18
19
20
# File 'lib/redi_search/search/clauses.rb', line 18

def with_scores
  add_to_clauses(WithScores.new)
end

#with_sort_keysObject



26
27
28
# File 'lib/redi_search/search/clauses.rb', line 26

def with_sort_keys
  add_to_clauses(WithSortKeys.new)
end