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

Pra*_*ash 8 sorting lucene search grouping solr

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

  • 牛仔裤
    • 靴型
      • 产品1
      • 产品2
    • 枯瘦
      • 产品1
      • 产品3

产品具有以下排序顺序

  • 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.

pha*_*ani 1

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

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

Solr 多面搜索

Lucene 分面搜索

另一个关于 Lucene 多面搜索