我正在使用Solr为电子商务网站提供分面导航。然而,我需要定义分面的自定义顺序,但我没有找到如何在Solr中完成。
我用的是Solr Net和最新版本的Solr。
下面是我需要做的一个例子。
当前面
作业系统
- 安卓系统(32)
- 黑莓操作系统(8)
- 车窗(6)
- 苹果iOS(6)
- 八达(五)
- 专有(2)
标价
- 10001 - 20000(42个)
- 20001年至25000年(12年)
- 500 - 5000(十一)
- 5001 - 10000(八)
请注意,这只是一个例子。并有许多其他方面。我想显示价格作为第一个方面,所以需要排序这个方面字段以及像这样的方面选项。
标价
- 500 - 5000(十一)
- 5001 - 10000(八)
- 10001 - 20000(42个)
- 20001年至25000年(12年)
作业系统
- 安卓系统(32)
- 苹果iOS(6)
- 八达(五)
- 黑莓操作系统(8)
- 专有(2)
- 车窗(6)
因此,我需要按以下方式订购:
1.通过某种方式手动对方面字段进行排序,使其按特定顺序显示
1.按照定义的顺序排列面。对于操作系统,我按字母顺序排列。或者对于那些没有定义顺序的面,可以根据结果中的计数作为默认顺序?
请告知。
2条答案
按热度按时间oalqel3c1#
您可以使用facet sort per field来分别对不同的facet进行排序。
例如
f.<field_name>.facet.sort=count|index
Solr只提供了计数和索引排序两个选项。其他的都需要通过自定义解决方案或解决方案来实现。
blpfk2vs2#
只能按预定义的条件进行排序。
facet.sort
是您使用的,它只能是:- count -按计数对约束条件排序(最大计数优先)- index -返回按索引顺序排序的约束条件(按索引术语的字典顺序)。对于ASCII范围中的术语,将按字母顺序排序。看看这个:http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort