使用最接近搜索查询的属性对记录排序

时间:2016-01-11 06:38:06

标签: ruby-on-rails

我的Food模型有3个decimal属性:sweetnessspicinesssaltiness

我想要做的是根据"关闭"对所有Food记录进行排序。他们是搜索查询。

因此,我们要说[sweetness, spiciness, saltiness]的查询是[1, 2, 3]。在这种情况下,应在具有Food属性值的记录之前对具有[2, 3, 4]属性值的[5, 6, 7]记录进行排序。

我有办法使用Cosine Similarity来计算查询和记录之间的相对相似性,但我不确定如何在不迭代数据库中的所有记录的情况下对它们进行排序。

1 个答案:

答案 0 :(得分:0)

您可以在搜索查询中为列使用变量,例如var1,var2,var3。现在,您始终可以使用带有var1的order by子句。