6

我正在使用 Solr 为电子商务网站提供多面导航。但是我需要为构面定义自定义顺序,但我没有找到如何在 Solr 中执行此操作。

知道怎么做吗?我正在使用 Solr Net 和最新版本的 Solr。

这是我需要做的一个例子。

当前方面

操作系统

  • 安卓 (32)
  • 黑莓操作系统 (8)
  • 窗户 (6)
  • 苹果 iOS (6)
  • 八达 (5)
  • 专有 (2)

价格

  • 10001 - 20000 (42)
  • 20001 - 25000 (12)
  • 500 - 5000 (11)
  • 5001 - 10000 (8)

请注意,这只是一个示例。还有许多其他方面。我想将价格显示为第一个方面,因此需要订购此方面字段以及这样的方面选项。

价格

  • 500 - 5000 (11)
  • 5001 - 10000 (8)
  • 10001 - 20000 (42)
  • 20001 - 25000 (12)

操作系统

  • 安卓 (32)
  • 苹果 iOS (6)
  • 八达 (5)
  • 黑莓操作系统 (8)
  • 专有 (2)
  • 窗户 (6)

所以这是我需要订购的方式:

  1. 通过某种方式手动订购 Facet Field,以便它们按特定顺序显示
  2. 根据定义的顺序订购 Facet。对于操作系统,我按字母顺序排序。或者可能对于那些没有定义顺序的方面可以根据结果中的计数作为默认顺序?

请指示。

4

2 回答 2

8

您可以对每个字段使用构面排序来分别对不同的构面进行排序。

例如f.<field_name>.facet.sort=count|index

Solr 只提供了两个选项 Count 和 Index sort。其他任何事情都需要通过自定义解决方案或变通方法来实施。

于 2013-09-04T13:24:31.700 回答
0

您只能按预定义的标准进行排序。

facet.sort是您使用的,它只能是: - 计数 - 按计数对约束进行排序(最高计数优先) - 索引 - 返回按其索引顺序排序的约束(按索引词的字典顺序)。对于 ascii 范围内的术语,这将按字母顺序排序。

看看这个:http ://wiki.apache.org/solr/SimpleFacetParameters#facet.sort

于 2013-09-03T09:17:38.610 回答