Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SOLR:产品的特殊分类,首先是在仍然有效(按日期),然后是在_Java_Sorting_Solr - Fatal编程技术网

Java SOLR:产品的特殊分类,首先是在仍然有效(按日期),然后是在

Java SOLR:产品的特殊分类,首先是在仍然有效(按日期),然后是在,java,sorting,solr,Java,Sorting,Solr,我们有一个产品的Solr索引,我们在网站上的搜索结果中显示了该索引。在网站上,这些结果分为两组:活跃组和非活跃组 活动: 其中,列valid_to大于当前日期和时间 非活动: 其中,列valid_to早于当前日期和时间 我们可以在文档中添加一个名为“active”的列,并在此列上排序,但我们希望结果是实时的。因此,只需在valid_to DESC上排序即可解决问题,将所有第一批产品都置于活动状态,直到找到一个有效_to date早于当前日期和时间的产品,并将该产品和其他产品置于非活动状态。问题解

我们有一个产品的Solr索引,我们在网站上的搜索结果中显示了该索引。在网站上,这些结果分为两组:活跃组和非活跃组

活动: 其中,列valid_to大于当前日期和时间

非活动: 其中,列valid_to早于当前日期和时间

我们可以在文档中添加一个名为“active”的列,并在此列上排序,但我们希望结果是实时的。因此,只需在
valid_to DESC
上排序即可解决问题,将所有第一批产品都置于活动状态,直到找到一个有效_to date早于当前日期和时间的产品,并将该产品和其他产品置于非活动状态。问题解决了

但是,我们也希望对活动组中的产品进行排序,从新到旧,因此我们希望在DESC上对这些产品进行排序。这显然不起作用:


因此,任何知道修复此排序方法的方法的人?

两个连续查询(一个用于活动产品,按created\u at排序,另一个用于非活动产品,按created\u at排序)都可以。好的,那么一个查询不可能吗?因为我读了一些关于函数查询的东西。但是我不能真正弄清楚或者可以用函数查询来完成它:我认为可以,通过子查询进行排序,但是语法非常模糊。这两个链接有相关的示例:和