如何在SOLR中对已排序的组文档进行排序?

时间:2018-08-14 14:27:16

标签: solr solr6

我们使用Solr进行产品搜索。我们有两个价格领域,即。价格和publicPrice。 这是我的文档

{"docs":[{
            "price":75.68,
            "publicPrice":75.68,
            "productID":100630,
}, {
            "price":275,
            "publicPrice":275,
            "productID":100630,
      },
   {
            "price":575,
            "publicPrice":575,
            "productID":100630,
      },
   {
            "price":168,
            "publicPrice":168,
            "productID":105033,
      },
   {
            "price":420.30,
            "publicPrice":420.30,
            "productID":105070,
      },
   {
            "price":175.5,
            "publicPrice":175.5,
            "productID":105070,
      }]
}

我在productID字段上使用分组,并且希望组中的publicPrice始终升序。因此,我进行了类似的组查询。

q=*:*&sort=price+asc&wt=json&indent=true&group=true&group.field=productID&group.ngroups=true&group.facet=true&group.limit=50&group.sort=publicPrice asc

结果看起来不错(100630(价格:75.68),105033(价格:168),105070(价格175.5))。

它完美地工作。但是,当我按降序对价格进行排序时,回报是意外的。

q=*:*&sort=price+desc&wt=json&indent=true&group=true&group.field=productID&group.ngroups=true&group.facet=true&group.limit=50&group.sort=publicPrice asc

结果看起来不错(100630(价格:75.68),105070(价格175.5),105033(价格:168))。

预期结果(105070(价格175.5),105033(价格:168),100630(价格:75.68))。

如果我按价格降序排序为什么会得到错误的订单?

基本上,我需要对已排序项目进行分组排序。这意味着我要先对普通文档进行排序,然后对组进行排序,然后再对分组文档进行排序。

有什么办法可以解决这个问题吗?

0 个答案:

没有答案