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/05/14 11:36:06 UTC

svn commit: r537760 - in /lucene/solr/trunk/client/ruby/solr-ruby: lib/solr/request/standard.rb test/unit/standard_request_test.rb

Author: ehatcher
Date: Mon May 14 02:36:05 2007
New Revision: 537760

URL: http://svn.apache.org/viewvc?view=rev&rev=537760
Log:
Fix issue where only facet.query was being requested but no fields

Modified:
    lucene/solr/trunk/client/ruby/solr-ruby/lib/solr/request/standard.rb
    lucene/solr/trunk/client/ruby/solr-ruby/test/unit/standard_request_test.rb

Modified: lucene/solr/trunk/client/ruby/solr-ruby/lib/solr/request/standard.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solr-ruby/lib/solr/request/standard.rb?view=diff&rev=537760&r1=537759&r2=537760
==============================================================================
--- lucene/solr/trunk/client/ruby/solr-ruby/lib/solr/request/standard.rb (original)
+++ lucene/solr/trunk/client/ruby/solr-ruby/lib/solr/request/standard.rb Mon May 14 02:36:05 2007
@@ -71,18 +71,20 @@
       hash["facet.missing"] = @params[:facets][:missing]
       hash["facet.mincount"] = @params[:facets][:mincount]
       hash["facet.prefix"] = @params[:facets][:prefix]
-      @params[:facets][:fields].each do |f|
-        if f.kind_of? Hash
-          key = f.keys[0]
-          value = f[key]
-          hash["facet.field"] << key
-          hash["f.#{key}.facet.sort"] = (value[:sort] == :count) if value[:sort]
-          hash["f.#{key}.facet.limit"] = value[:limit]
-          hash["f.#{key}.facet.missing"] = value[:missing]
-          hash["f.#{key}.facet.mincount"] = value[:mincount]
-          hash["f.#{key}.facet.prefix"] = value[:prefix]
-        else
-          hash["facet.field"] << f
+      if @params[:facets][:fields]  # facet fields are optional (could be facet.query only)
+        @params[:facets][:fields].each do |f|
+          if f.kind_of? Hash
+            key = f.keys[0]
+            value = f[key]
+            hash["facet.field"] << key
+            hash["f.#{key}.facet.sort"] = (value[:sort] == :count) if value[:sort]
+            hash["f.#{key}.facet.limit"] = value[:limit]
+            hash["f.#{key}.facet.missing"] = value[:missing]
+            hash["f.#{key}.facet.mincount"] = value[:mincount]
+            hash["f.#{key}.facet.prefix"] = value[:prefix]
+          else
+            hash["facet.field"] << f
+          end
         end
       end
     end

Modified: lucene/solr/trunk/client/ruby/solr-ruby/test/unit/standard_request_test.rb
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/client/ruby/solr-ruby/test/unit/standard_request_test.rb?view=diff&rev=537760&r1=537759&r2=537760
==============================================================================
--- lucene/solr/trunk/client/ruby/solr-ruby/test/unit/standard_request_test.rb (original)
+++ lucene/solr/trunk/client/ruby/solr-ruby/test/unit/standard_request_test.rb Mon May 14 02:36:05 2007
@@ -55,6 +55,17 @@
     assert_match /debugQuery/, request.to_s
   end
   
+  def test_only_facet_query
+    request = Solr::Request::Standard.new(:query => 'query',
+       :facets => {
+         :queries => ["q1", "q2"],
+        }
+    )
+    
+    hash = request.to_hash
+    assert_equal ["q1", "q2"], hash["facet.query"]
+  end
+  
   def test_facet_params_all
     request = Solr::Request::Standard.new(:query => 'query',
        :facets => {