如何在Solr查询中嵌套排序?

时间:2019-06-20 07:46:19

标签: sorting solr lucene solr-query-syntax

假设我的字段和值类似

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

查询将类似于

sku:"xxx"

在此结果中,我需要对名称(Elux)在顶部的商品进行排序,卖方(true)在顶部的商品排序 在此我需要产品名称应按字母顺序排序(卖方(假)和底部的Elux以外的其他名称)。 solr有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用与shown in this answer by Alexandre相同的策略,但是必须根据需要进行调整。像这样:

Sub SingleLineSpacing()
Dim wdDoc As Document

Set wdDoc = ActiveDocument

    With wdDoc.Range.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Font.Size = 12
        .Font.Name = "Arial"
        .Replacement.ParagraphFormat
        .Replacement.ParagraphFormat.SpaceBefore = 0
        .Replacement.ParagraphFormat.SpaceBeforeAuto = False
        .Replacement.ParagraphFormat.SpaceAfter = 0
        .Replacement.ParagraphFormat.SpaceAfterAuto = False
        .Replacement.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle
        .Replacement.ParagraphFormat.LineUnitBefore = 0
        .Replacement.ParagraphFormat.LineUnitAfter = 0
        .Text = ""
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
        .Execute Replace:=wdReplaceAll
    End With
End Sub

..应该可以。不过,不确定这两个&sort=query(Name:Elux, 0) desc, query(seller:true, 0) desc, Name asc 调用的性能。

更新:

您必须使用Alexandre在其答案中描述的占位符:

query