我正在使用 Tire gem 在我的应用程序中执行搜索。在我的控制器中,我执行搜索:
@results = Model.search(query: params[:query])
然后我想使用自定义排序方法重新排序结果
@results.each_with_hit do |result|
# complex math that computes final score.
# calculations include model attributes and _score field
# ...
# modify score for the result
result[1]["_score"] = final_score
end
我尝试通过执行以下操作使用新分数对结果进行排序:
@results.each_with_hit.sort_by {|r| r[1][_score]}
但这似乎不起作用。