首页 > 解决方案 > 如何在 solr 查询中进行嵌套排序?

问题描述

假设我有字段和值

Field : value
sku : xxx
Seller : true
Name : "Elux"

查询会像

sku:"xxx"

在这个结果中,我需要对名称(Elux)在顶部的产品进行排序,卖家(true)在顶部,并且我需要产品名称应按字母顺序排序,对于卖家(false)和 Elux 以外的名称也是如此底部。solr可以做到这一点吗?

标签: sortingsolrlucenesolr-query-syntax

解决方案


您可以使用Alexandre 在此答案中显示的相同策略,但您必须根据需要对其进行调整。就像是:

&sort=query(Name:Elux, 0) desc, query(seller:true, 0) desc, Name asc

.. 应该管用。不过,不确定这两个query电话的表现。

更新:

正如亚历山大在他的回答中描述的那样,您必须使用占位符:

sort=query($manu_sort,0) desc, query($seller_sort,0) desc, ManufacturerName asc
&manu_sort=ManufacturerName:Champ
&seller_sort=BestSeller:true

推荐阅读