我正在使用太阳黑子和太阳黑子Mongoid。按相关性(得分)值排序,然后按事件日期排序。要做到这一点,你应该做
Article.search do
keywords params[:query]
order_by :score, :desc
order_by :article_date, :asc
end
但是这不起作用。它改为按article_date排序。如果我删除article_date,它会根据分数正确排序。如果我使用article_date和另一个字段排序,比如标题而不是分数,它也可以正常工作。
这是我的宝石版本
使用太阳黑子(1.3.0) 使用sunspot_rails(1.3.0) 使用sunspot_mongoid(0.4.1) 使用sunspot_solr(1.3.0)
我的工作基于此示例:Solr/Lucene is it possible to order first by relevance, and then by a second attribute?以及太阳黑子http://sunspot.github.com/sunspot/docs的文档。
有什么想法吗?
[更新]
认为这可能与我循环结果而不是命中有关,我尝试了两种情况:
Post.search.results.each do |result|
AND
Post.search.each_hit_with_result do |hit, result|
唉,同样的事情。