Class: Solr::Response::Standard

Inherits:
Ruby
  • Object
show all
Includes:
Enumerable
Defined in:
lib/solr/response/standard.rb

Overview

The ASF licenses this file to You under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Direct Known Subclasses

Dismax

Defined Under Namespace

Classes: FacetValue

Instance Attribute Summary

Attributes inherited from Ruby

#data, #header

Attributes inherited from Base

#raw_response

Instance Method Summary collapse

Methods inherited from Ruby

#ok?, #query_time

Methods inherited from Base

make_response

Constructor Details

#initialize(ruby_code) ⇒ Standard


17
18
19
20
21
# File 'lib/solr/response/standard.rb', line 17

def initialize(ruby_code)
  super
  @response = @data['response']
  raise "response section missing" unless @response.kind_of? Hash
end

Instance Method Details

#eachObject

supports enumeration of hits TODO revisit - should this iterate through all hits by re-requesting more?


59
60
61
# File 'lib/solr/response/standard.rb', line 59

def each
  @response['docs'].each {|hit| yield hit}
end

#field_facets(field) ⇒ Object


39
40
41
42
43
44
45
46
47
# File 'lib/solr/response/standard.rb', line 39

def field_facets(field)
  facets = []
  values = @data['facet_counts']['facet_fields'][field]
  Solr::Util.paired_array_each(values) do |key, value|
    facets << FacetValue.new(key, value)
  end

  facets
end

#highlighted(id, field) ⇒ Object


49
50
51
# File 'lib/solr/response/standard.rb', line 49

def highlighted(id, field)
  @data['highlighting'][id.to_s][field.to_s] rescue nil
end

#highlightingObject


53
54
55
# File 'lib/solr/response/standard.rb', line 53

def highlighting
  @data['highlighting']
end

#hitsObject


31
32
33
# File 'lib/solr/response/standard.rb', line 31

def hits
  @response['docs']
end

#max_scoreObject


35
36
37
# File 'lib/solr/response/standard.rb', line 35

def max_score
  @response['maxScore']
end

#startObject


27
28
29
# File 'lib/solr/response/standard.rb', line 27

def start
  @response['start']
end

#total_hitsObject


23
24
25
# File 'lib/solr/response/standard.rb', line 23

def total_hits
  @response['numFound']
end