lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Rosen <p...@performantsoftware.com>
Subject Re: format of sort parameter in Solr::Request::Standard
Date Mon, 12 Oct 2009 15:03:48 GMT
I did an experiment that worked. In Solr::Request::Standard, in the 
to_hash() method, I changed the commented line below to the two lines 
following it.

     sort = @params[:sort].collect do |sort|
       key = sort.keys[0]
       "#{key.to_s} #{sort[key] == :descending ? 'desc' : 'asc'}"
     end.join(',') if @params[:sort]

# START OF CHANGES
     #hash[:q] = sort ? "#{@params[:query]};#{sort}" : @params[:query]
     hash[:q] = @params[:query]
     hash[:sort] = sort if sort != nil
# END OF CHANGES

     hash["q.op"] = @params[:operator]
     hash[:df] = @params[:default_field]

Does this make sense? Should this be changed in the next version of the 
solr-ruby gem?

Paul Rosen wrote:
> Hi all,
> 
> I'm using solr-ruby 0.0.7 and am having trouble getting Sort to work.
> 
> I have the following statement:
> 
> req = Solr::Request::Standard.new(:start => start, :rows => max,
>  :sort => [ :title_sort => :ascending ],
>  :query => query, :filter_queries => filter_queries,
>  :field_list => @field_list,
>  :facets => {:fields => @facet_fields, :mincount => 1, :missing => true,

> :limit => -1},
>  :highlighting => {:field_list => ['text'], :fragment_size => 600}, 
> :shards => @cores)
> 
> That produces no results, but removing the :sort parameter off does give 
> results.
> 
> Here is the output from solr:
> 
> INFO: [merged] webapp=/solr path=/select 
> params={wt=ruby&facet.limit=-1&rows=30&start=0&facet=true&facet.mincount=1&q=(rossetti);title_sort+asc&fl=archive,date_label,genre,role_ART,role_AUT,role_EDT,role_PBL,role_TRL,source,image,thumbnail,text_url,title,alternative,uri,url,exhibit_type,license,title_sort,author_sort&qt=standard&facet.missing=true&hl.fl=text&facet.field=genre&facet.field=archive&facet.field=freeculture&hl.fragsize=600&hl=true&shards=localhost:8983/solr/merged}

> status=0 QTime=19
> 
> It looks to me like the string should have "&sort=title_sort+asc" 
> instead of ";title_sort_asc" tacked on to the query, but I'm not sure 
> about that.
> 
> Any clues what I'm doing wrong?
> 
> Thanks,
> Paul


Mime
View raw message