Solr按距离和新鲜度排序

时间:2012-08-08 10:12:01

标签: java solr lucene distance

我正在使用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

但我没有看到结果有任何差异。我是否必须对分拣区域施加重量?

谢谢!

1 个答案:

答案 0 :(得分:1)

这很容易:

  1. 如果您尚未使用它,请使用edismax parser
  2. 现在您可以使用bf对分数进行加权,因此请加强文档,请参阅here
  3. 并且还提升了最近的文档,请参阅this SO question