update to facet parameter changes to Solr via SOLR-106

git-svn-id: https://svn.apache.org/repos/asf/incubator/solr/trunk@496954 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Erik Hatcher 2007-01-17 07:57:48 +00:00
parent bd3e81a1a8
commit 9373fa3f45
4 changed files with 16 additions and 12 deletions

View File

@ -69,17 +69,19 @@ module Solr
hash[:facet] = true
hash[:"facet.field"] = []
hash[:"facet.query"] = @params[:facets][:queries]
hash[:"facet.missing"] = @params[:facets][:missing]
hash[:"facet.zeros"] = @params[:facets][:zeros]
hash[:"facet.sort"] = (@params[:facets][:sort] == :count) if @params[:facets][:sort]
hash[:"facet.limit"] = @params[:facets][:limit]
hash[:"facet.missing"] = @params[:facets][:missing]
hash[:"facet.mincount"] = @params[:facets][:mincount]
@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.missing"] = value[:missing]
hash[:"f.#{key}.facet.zeros"] = value[:zeros]
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]
else
hash[:"facet.field"] << f
end

View File

@ -11,6 +11,7 @@
# limitations under the License.
require 'test/unit'
require 'solr'
class BadRequest < Solr::Request::Standard
def response_format

View File

@ -42,10 +42,11 @@ class StandardRequestTest < Test::Unit::TestCase
assert_equal "id,title,score", request.to_hash[:fl]
end
def test_empty_params
request = Solr::Request::Standard.new(:query => 'query', :debug_query => false)
def test_missing_params
request = Solr::Request::Standard.new(:query => 'query', :debug_query => false, :facets => {:fields =>[:category_facet]})
assert_nil request.to_hash[:rows]
assert_no_match /rows/, request.to_s
assert_no_match /facet\.sort/, request.to_s
assert_match /debugQuery/, request.to_s
end
@ -53,20 +54,20 @@ class StandardRequestTest < Test::Unit::TestCase
request = Solr::Request::Standard.new(:query => 'query',
:facets => {
:fields => [:genre,
{:year => {:limit => 50, :zeros => false, :missing => false}}], # field that overrides the global facet parameters
{:year => {:limit => 50, :mincount => 0, :missing => false, :sort => :term}}], # field that overrides the global facet parameters
:queries => ["q1", "q2"],
:limit => 5, :zeros => true, :missing => true # global facet parameters
:limit => 5, :zeros => true, :mincount => 20, :sort => :count # global facet parameters
}
)
assert_equal true, request.to_hash[:facet]
assert_equal [:genre, :year], request.to_hash[:"facet.field"]
assert_equal ["q1", "q2"], request.to_hash[:"facet.query"]
assert_equal true, request.to_hash[:"facet.missing"]
assert_equal 5, request.to_hash[:"facet.limit"]
assert_equal true, request.to_hash[:"facet.zeros"]
assert_equal 20, request.to_hash[:"facet.mincount"]
assert_equal true, request.to_hash[:"facet.sort"]
assert_equal 50, request.to_hash[:"f.year.facet.limit"]
assert_equal false, request.to_hash[:"f.year.facet.zeros"]
assert_equal false, request.to_hash[:"f.year.facet.missing"]
assert_equal 0, request.to_hash[:"f.year.facet.mincount"]
assert_equal false, request.to_hash[:"f.year.facet.sort"]
end
def test_basic_sort