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