如何按每60天的时间范围对SOLR搜索结果进行排序?

时间:2013-02-05 18:50:58

标签: sorting search solr range

我喜欢按照以下顺序排序的solr搜索结果,根据它的年龄,每60天的范围分组:

  • {0~59days,随机内组}
  • {60~119天,随机}
  • {120~179天,随机}
  • ...

在我们的文档中,我们有一个名为 publishDate 的字段,其字段类型为" date"。我在想是否可以使用sort函数执行此操作(只是一些psudo代码):

sort=((Today - publishDate) / 60 ) asc, rand_## desc, score desc

此外,如果可行的话,这仅在当前的SOLR版本中受支持吗? 3.x还是4? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

如上所述Function QueriesRandomSort字段,这应该是可行的,并支持3.x和4.0

您可以检查subdivms函数以执行减法,除法和毫秒来达到日期范围值并对其进行排序。
使用RandomSort字段作为辅助排序来随机化它。