多字段上的SOLR排序

时间:2016-09-30 08:29:34

标签: solr

在solr官方文档中找到了以下信息,

  

inStock desc,价格asc按照inStock字段的内容排序   降序,然后在这些结果中按升序排序   由价格领域的内容。

读这篇文章我有点困惑。如果文档首先按照instock进行排序,我们得到的结果和结果如果我们再次对价格字段进行排序,那么我们得到的结果与结果不一样 - 如果我们第一次只对结果进行排序使用价格字段。如果是这样,那么使用instock字段进行排序有什么好处,因为最后我们得到的结果按价格排序。

某些地方,我猜错了。请帮我理解。

1 个答案:

答案 0 :(得分:1)

在Solr中,如果我们在 inStock desc,price asc 等多个字段上使用sort,那么首先它将按inStock排序,之后它将仅按照inlines值相等的结果按价格排序。
如下首先我们按 inStock desc 排序。

"response":{"numFound":3,"start":0,"docs":[
      {
        "inStock":5,
        "price":10},
      {
        "inStock":4,
        "price":2},
      {
        "inStock":4,
        "price":1}]
  }}

然后,如果我们按 inStock desc排序,价格asc 。第二种排序仅适用于inlines值相等的结果。

"response":{"numFound":3,"start":0,"docs":[
      {
        "inStock":5,
        "price":10},
      {
        "inStock":4,
        "price":1},
      {
        "inStock":4,
        "price":2}]
  }}