Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Solr/Lucene is it possible to order first by relevance, and then by a second attribute?

In Solr/Lucene is it possible to order first by relevance, and then by a second attribute?

As far as I can tell if I set an ordering parameter, it totally overrides relevance, and sorts by the ordering parameter(s).

How can I have results sorted first by relevance, and then in the case of two entries with exactly the same relevance, giving the nod to the item that, say, comes first alphabetically.

If it makes any difference I'm using Solr through Sunspot in Ruby on Rails.

like image 225
William Jones Avatar asked Sep 13 '10 23:09

William Jones


1 Answers

Solved my own problem!

The keyword score can be passed to order the result by relevancy.

So in Rails Sunspot terms:

Article.search do
  keywords params[:query]
  order_by :score, :desc
  order_by :name, :asc
end
like image 151
William Jones Avatar answered Nov 09 '22 20:11

William Jones