lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <erik.hatc...@gmail.com>
Subject Re: format of sort parameter in Solr::Request::Standard
Date Mon, 12 Oct 2009 15:35:17 GMT
Paul-

Trunk solr-ruby has this instead:

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

The ";sort..." stuff is now deprecated with Solr itself

I suppose the 0.8 gem needs to be pushed to rubyforge, eh?

	Erik


On Oct 12, 2009, at 11:03 AM, Paul Rosen wrote:

> 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