1

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

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

在我们的文档中,我们有一个名为publishDate的字段,它的 fieldType 为“日期”。我在想我是否可以使用排序功能来做到这一点(只是一些伪代码):

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

另外,如果可行,是否仅在当前 SOLR 版本中支持?3.x 还是 4?提前致谢。

4

1 回答 1

1

正如上面提到的函数查询随机排序字段,这应该是可行的,并且支持 3.x 和 4.0

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

于 2013-02-06T04:06:29.447 回答