class SimpleSolrClient::Response::QueryResponse

Attributes

docs[R]
first_index[R]
num_found[R]
page[R]
params[R]

Public Class Methods

new(solr_response) click to toggle source
# File lib/simple_solr_client/response/query_response.rb, line 13
def initialize(solr_response)
  super
  resp         = @solr_response['response']
  @num_found   = resp['numFound']
  @first_index = resp['start'] + 1

  @docs         = []
  @indexed_docs = {}
  resp['docs'].each_with_index do |d, i|
    doc_rank = i + @first_index
    doc      = SimpleSolrClient::Response::Document.new(d)
    doc.rank = doc_rank
    @docs << doc
    @indexed_docs[doc.id] = doc
  end
end

Public Instance Methods

each_with_rank() { |x, rank| ... } click to toggle source
# File lib/simple_solr_client/response/query_response.rb, line 48
def each_with_rank
  return self.enum_for(:each_with_rank) unless block_given?
  @docs.each { |x| yield x, x.rank }
end
empty?() click to toggle source

@return [Boolean] True if there are no documents

# File lib/simple_solr_client/response/query_response.rb, line 43
def empty?
  @docs.empty?
end
last_index() click to toggle source
# File lib/simple_solr_client/response/query_response.rb, line 30
def last_index
  @first_index + @num_found
end
rank(id) click to toggle source
# File lib/simple_solr_client/response/query_response.rb, line 34
def rank(id)
  @indexed_docs[id.to_s].rank
end
score(id) click to toggle source
# File lib/simple_solr_client/response/query_response.rb, line 38
def score(id)
  @indexed_docs[id.to_s].score
end