Solr在排序中组合日期字段

The*_*dor 6 sorting solr

我们有一些文档被索引,其中包含d1一些文档和d2其他文档的日期,我们希望根据哪一个可用的操作系统对它们进行排序.

sort=d1 desc, d2 desc
Run Code Online (Sandbox Code Playgroud)

将与文档进行排序d1seperatly与文档d2,就像这样:

d1: 2014-03-12
d1: 2010-03-12
d2: 2013-03-12
d2: 2011-03-12
Run Code Online (Sandbox Code Playgroud)

我们想要的是一切如下:

d1: 2014-03-12
d2: 2013-03-12
d2: 2011-03-12
d1: 2010-03-12
Run Code Online (Sandbox Code Playgroud)

不幸的是,使用新的公共字段重新索引所有文档不是一种选择.

Abd*_*auf 1

据我所知,您可以使用 solr 的函数查询。对于这种类型,是这样的

排序=if((abs(ms(d1,d2)) > 0),d1,d2) desc

我还没有测试过,但这里有一个有用的链接,可以解决您的问题。

https://wiki.apache.org/solr/FunctionQuery
按日期差异对结果进行排序