问题
I'm using Solr for offering faceted navigation for e-commerce site. However I need to define the custom order for facets, but I didn't find how to do that in Solr.
Any idea how to do this? I'm using Solr Net and latest version of Solr.
Here is an example what I need to do.
Current Facets
Operating System
- Android (32)
- Blackberry OS (8)
- Windows (6)
- Apple iOS (6)
- Bada (5)
- Proprietary (2)
Price
- 10001 - 20000 (42)
- 20001 - 25000 (12)
- 500 - 5000 (11)
- 5001 - 10000 (8)
Note that it is just an example. And have many other facets. I want to display Price as the first facet, so need to order this facet field as well as facet options like this.
Price
- 500 - 5000 (11)
- 5001 - 10000 (8)
- 10001 - 20000 (42)
- 20001 - 25000 (12)
Operating System
- Android (32)
- Apple iOS (6)
- Bada (5)
- Blackberry OS (8)
- Proprietary (2)
- Windows (6)
So here is how I need to order it:
- Order Facet Field manually by some way so they are displayed on specific order
- Order Facets as per the defined order. For OS, I ordered it alphabetically. Or may be for those facets which doesn't have order defined can be order as default based on number of count in result?
Pls advise.
回答1:
You can use facet sort per field to order the different facets respectively.
e.g. f.<field_name>.facet.sort=count|index
Solr only provided two options Count and Index sort. Anything else needs to implemented through Custome solutions or workarounds.
回答2:
You can only sort by predefined criteria.
facet.sort
is what you use and it can only be:
- count - sort the constraints by count (highest count first)
- index - to return the constraints sorted in their index order (lexicographic by indexed term). For terms in the ascii range, this will be alphabetically sorted.
Have a look at this: http://wiki.apache.org/solr/SimpleFacetParameters#facet.sort
来源:https://stackoverflow.com/questions/18576517/set-custom-order-for-facets-coming-from-solr