You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2007/02/06 11:34:45 UTC
svn commit: r504067 - in /lucene/solr/trunk/client/ruby/solrb:
lib/solr/response/standard.rb solr/webapps/solr.war
test/unit/standard_response_test.rb
Author: ehatcher
Date: Tue Feb 6 02:34:44 2007
New Revision: 504067
URL: http://svn.apache.org/viewvc?view=rev&rev=504067
Log:
Upgrade Solr support with modified facet data structure.
Modified:
lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb
lucene/solr/trunk/client/ruby/solrb/solr/webapps/solr.war
lucene/solr/trunk/client/ruby/solrb/test/unit/standard_response_test.rb
Modified: lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb?view=diff&rev=504067&r1=504066&r2=504067
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/lib/solr/response/standard.rb Tue Feb 6 02:34:44 2007
@@ -11,6 +11,7 @@
# limitations under the License.
class Solr::Response::Standard < Solr::Response::Ruby
+ FacetValue = Struct.new(:name, :value)
include Enumerable
def initialize(ruby_code)
@@ -36,11 +37,19 @@
end
def field_facets(field)
- @data['facet_counts']['facet_fields'][field].sort {|a,b| b[1] <=> a[1]}
+ facets = []
+ values = @data['facet_counts']['facet_fields'][field]
+ 0.upto(values.size / 2 - 1) do |i|
+ n = i * 2
+ facets << FacetValue.new(values[n], values[n+1])
+ end
+
+ facets
end
# supports enumeration of hits
+ # TODO revisit - should this iterate through *all* hits by re-requesting more?
def each
@response['docs'].each {|hit| yield hit}
end
Modified: lucene/solr/trunk/client/ruby/solrb/solr/webapps/solr.war
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/solr/webapps/solr.war?view=diff&rev=504067&r1=504066&r2=504067
==============================================================================
Binary files - no diff available.
Modified: lucene/solr/trunk/client/ruby/solrb/test/unit/standard_response_test.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solrb/test/unit/standard_response_test.rb?view=diff&rev=504067&r1=504066&r2=504067
==============================================================================
--- lucene/solr/trunk/client/ruby/solrb/test/unit/standard_response_test.rb (original)
+++ lucene/solr/trunk/client/ruby/solrb/test/unit/standard_response_test.rb Tue Feb 6 02:34:44 2007
@@ -153,23 +153,21 @@
'facet_counts'=>{
'facet_queries'=>{},
'facet_fields'=>{
- 'subject_genre_facet'=>{
- 'Biography.'=>2605,
- 'Congresses.'=>1837,
- 'Bibliography.'=>672,
- 'Exhibitions.'=>642,
- 'Periodicals.'=>615,
- 'Sources.'=>485,
- }}}
+ 'subject_genre_facet'=>[
+ 'Biography.',2605,
+ 'Congresses.',1837,
+ 'Bibliography.',672,
+ 'Exhibitions.',642,
+ 'Periodicals.',615,
+ 'Sources.',485]}}
}
RUBY_CODE
-
set_post_return(ruby_code)
conn = Solr::Connection.new "http://localhost:9999"
response = conn.query('foo')
facets = response.field_facets('subject_genre_facet')
- assert_equal 2605, facets[0][1]
- assert_equal 485, facets[5][1]
+ assert_equal 2605, facets[0].value
+ assert_equal 485, facets[5].value
end
end