0

我正在尝试使用使用产品和用户输入的方程来排序搜索结果。换句话说,我有一个使用 Products 和 current_user 数据的方程。我希望能够按照从等式中得到的数字对搜索结果进行排序。我什至从这个开始就很迷茫。有没有人做过类似的事情或对如何最好地处理排序/顺序有任何想法?据我了解,“顺序”通常用于对 SQL 数据库中的实际列进行排序,而不是一种方法。

我最初认为我需要将 current_user 传递给模型。我知道这不是最佳实践,但 Sunspot 允许您在模型中创建自定义字段,然后对这些字段进行排序。不幸的是,这不起作用,因为 sunspot 需要索引它搜索和排序的字段。

我目前正在使用 Sunspot,即使需要进行修改,我也希望继续使用它。我也在使用分页。

4

1 回答 1

0

您无法在 SQL 中计算复杂的方程式。您仅限于简单的计算。

可能的解决方案:

  • 根据您获得的结果数量,可能只使用 ruby​​ 排序方法。
  • 计算方程的结果并将它们存储在新的列或表中

您的问题可能与“匹配”有关。

于 2011-08-27T09:38:42.000 回答