class RediSearch::Search::Result
Attributes
results[R]
:nocov:
search[R]
:nocov:
Public Class Methods
new(search, count, documents)
click to toggle source
# File lib/redi_search/search/result.rb, line 9 def initialize(search, count, documents) @count = count @search = search @results = parse_results(documents) end
Public Instance Methods
count()
click to toggle source
# File lib/redi_search/search/result.rb, line 15 def count @count || results.count end
inspect()
click to toggle source
# File lib/redi_search/search/result.rb, line 25 def inspect results end
pretty_print(printer)
click to toggle source
:nocov:
# File lib/redi_search/search/result.rb, line 30 def pretty_print(printer) printer.pp(results) end
size()
click to toggle source
# File lib/redi_search/search/result.rb, line 19 def size @count || results.size end
Private Instance Methods
no_content?()
click to toggle source
# File lib/redi_search/search/result.rb, line 51 def no_content? search.used_clauses.include? Search::Clauses::NoContent end
parse_results(documents)
click to toggle source
# File lib/redi_search/search/result.rb, line 55 def parse_results(documents) documents.each_slice(response_slice).map do |slice| document_id = slice[0] fields = slice.last unless no_content? score = slice[1].to_f if with_scores? Document.new(search.index, document_id, Hash[*fields.to_a], score) end end
response_slice()
click to toggle source
# File lib/redi_search/search/result.rb, line 39 def response_slice slice_length = 2 slice_length -= 1 if no_content? slice_length += 1 if with_scores? slice_length end
with_scores?()
click to toggle source
# File lib/redi_search/search/result.rb, line 47 def with_scores? search.used_clauses.include? Search::Clauses::WithScores end