使用solr中的不同排序顺序对不同的组进行排序

时间:2012-03-28 22:50:01

标签: search sorting solr lucene grouping

我们正在使用solr来构建电子商务应用程序,并且我们将产品按子类别中的子类别进行分组。我们使用动态排序顺序来确定产品在子类别中的位置,并且同一产品可以出现在多个子类别中。我们使用动态字段跟踪排序顺序,每个产品都有多个排序顺序,具体取决于它所属的子类别数。我们需要将这些产品分组到子类别中,并使用适当的排序顺序对其进行排序。下面的示例,任何帮助将不胜感激,我们正在尝试使用单个查询来完成它。

  • 牛仔裤
    • 靴型
      • 产品1
      • 产品2
      • 产品1
      • Product3

产品具有以下排序顺序

  • Product1-bootcutSortOrder-10 skinnySortOrder-1
  • 产品2-bootcutSortOrder-3
  • 产品3-skinnySortOrder-5

考虑到每个组下的升序排序顺序的预期结果

  • 靴型
    • 产品2
    • 产品1
    • 产品1
    • 产品3

我们希望solr按其排序顺序对每个组进行排序 - group.query = {subcategory:Bootcut}& group.sort = bootcutSortOrder asc& group.query = {subcategory:Skinny}& group.sort = skinnySortOrder asc

solr做的是对bootCutSortOrder asc,skinnySortOrder asc的组合进行排序。

在solr中是否可以使用自己的排序顺序对组的每个部分进行排序?

我们正在使用最新版本的solr,并且也适用于solr 4.

1 个答案:

答案 0 :(得分:1)

如果我理解你的解释,我认为你正在寻找Faceted Search

幸运的是,Lucene& Solr支持它。您可以参考以下内容..

Solr Faceted Search

Lucene Faceted Search

Another on Lucene Faceted Search