0

我有一个使用 Sunspot 访问 Solr 的 RoR 应用程序。所有最新版本。

我的索引文档有一个散列,其中键是 user_id,值是用户第一次看到文档的时间。

如何按用户的日期值对搜索结果进行排序?由于涉及的数据量,我希望在 Solr 而不是在 RoR 中完成这项工作 - 提取所有结果只是为了在 RoR 中进行排序不会很漂亮。

这在 Solr 中是否可以实现?如果是这样,太阳黑子也能处理吗?

4

1 回答 1

0

在 Solr REST API 中,要按时间字段排序,您只需添加一个sort查询参数。例如,如果您想按用户 ID 的 1、2 和 3 访问文档的时间排序,您可以发出类似 http://localhost:8983/solr/CORE/select?q=user_id:(1 OR 2 OR 3)&sort=timefield desc solr 的查询。

我不知道太阳黑子或红宝石,但看看http://sunspot.github.com/上的搜索示例,我想你可以做某事。像这样?

Post.search do
  user_id '1 OR 2 OR 3'
  order_by :timefield, :desc
end
于 2013-02-08T21:08:01.023 回答