0

我将 Solr 用于我的移动应用程序,它运行良好。目前,我使用 Solr 搜索用户,按距离排序。但现在我想提升更新鲜的结果,并将最旧的结果留在结果末尾。

我的架构中有一个 last_active_datetime 字段,不是多值的:

<field name="last_active_datetime"  type="date" indexed="true" stored="true" multiValued="false" />

如何按距离对结果进行排序并将旧结果留在最后?在我这样做之前:

sort=geodist()asc

现在,我正在尝试这个:

sort=geodist()asc, last_active_datetime desc

但我看不出结果有什么不同。我必须对排序字段进行加权吗?

谢谢!

4

1 回答 1

2

这很容易:

  1. 如果您还没有使用它,请使用edismax 解析器
  2. 现在你可以用 bf 加权分数,所以提升更接近的文档,见这里
  3. 并提升最近的文件,请参阅这个 SO question
于 2012-08-08T11:10:05.797 回答