应用组排序离子solr后,排序无法按预期工作

时间:2017-05-09 05:48:21

标签: solr

即时使用solr 4.3.0我需要从每组的最小值中排序(asc / desc)。

我使用以下查询来实现基于价格的group.sort,如下所示,

查询:group.field = ID&安培; group.ngroups =真安培; group.sort = price_USD + ASC&安培;基团=真安培; group.facet =真安培; group.limit = 1 结果:

{
  "grouped": {
    "category": {
      "matches": 9,
      "groups": [
        {
          "groupValue": "11121",
          "doclist": {
            "numFound": 3,
            "start": 0,
            "docs": [
              {
                "id": "233",
                "catentry_id": "ProductBean",
                "price_USD": 24,
                "category": "11121",
                "version": 1566834290000396300
              }
            ]
          }
        },
        {
          "groupValue": "111",
          "doclist": {
            "numFound": 3,
            "start": 0,
            "docs": [
              {
                "id": "2",
                "catentry_id": "ProductBean",
                "price_USD": 24,
                "category": "111",
                "version": 1566833543360807000
              }
            ]
          }
        },
        {
          "groupValue": "11112",
          "doclist": {
            "numFound": 3,
            "start": 0,
            "docs": [
              {
                "id": "22",
                "catentry_id": "ProductBean",
                "price_USD": 22,
                "category": "11112",
                "version": 1566833809098276900
              }
            ]
          }
        }
      ]
    }
  }
}

但是对查询应用排序没有按预期工作,因为它正在考虑每个组中的所有值不限制每个组的最小值。

请帮助我

1 个答案:

答案 0 :(得分:0)

group.sort将对组内的文档进行排序。因此,在您的情况下,组中的结果将根据price_USD字段进行排序,但您的组将根据分数进行排序。

为了相对于彼此对组进行排序,还要使用sort参数。 将&sort=price_USD asc附加到您的查询中。

有关详细信息,请参阅here