首页 > 解决方案 > 在 Solr 分组搜索结果中定义每组的排序

问题描述

当我查询我的 Solr 核心时,我使用分组来确定即将到来的项目(基于日期)和已经可用的项目。为此,我使用了一个组查询,其中我按 release_date 对项目进行分组。问题是我想对即将发布的项目进行排序,以便按 release_date asc 排序,所以第一个可用的项目会更高,而发布的项目会按发布日期 desc 排序,所以最新的项目会更高;

http://solrcore.example/select?
  defType=edismax&
  group=true&
  group.query=optional_release_date:[1995-01-01T00:00:00Z%20TO%20NOW]&
  group.sort=optional_release_date%20asc&
  group.query=optional_release_date:[NOW%20TO%202200-01-01T00:00:00Z]&
  group.sort=optional_release_date%20desc&
  group.limit=50000&
  rows=2000

在回复中,我看到所有组现在仅按 asc 排序。

"params": {
  "defType": "edismax",
  "group.sort": [
    "optional_release_date asc",
    "optional_release_date desc"
  ],
  "group.limit": "50000",
  "group.query": [
     "optional_release_date:[1995-01-01T00:00:00Z TO NOW]",
     "optional_release_date:[NOW TO 2200-01-01T00:00:00Z]"
  ],
  "rows": "2000",
  "group": "true"
}

是否有正确的方法来定义每个组的排序?

标签: solrlucene

解决方案


推荐阅读