如何在solr查询中进行嵌套排序?

How to nested sort in solr query?

假设我有像

这样的字段和值
Field : value
sku : xxx
Seller : true
Name : "Elux"

查询会像

sku:"xxx"

在此结果中,我需要将名称为 (Elux) 的产品排在顶部,卖家 (true) 排在顶部 其中我需要的产品名称应按字母顺序排序,卖家(错误)和底部的 Elux 以外的名称也是如此。这对 solr 可行吗?

您可以使用与 shown in this answer by Alexandre 相同的策略,但您必须根据需要对其进行调整。类似于:

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

.. 应该可以。不过,不确定这两个 query 调用的性能。

更新:

您必须使用占位符,正如 Alexandre 在他的回答中所描述的那样:

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