I recently faced a strange problem. I was faceting off of multiple
facet.fields and I found the need to sort them independently of each other. As far as I knew up to this point
facet.sort could only be set once. When I read the doc, however, it was claimed that the
facet.sort could be set on a per field basis; sadly no examples were provided nor was it explained any further. Luckily, after some digging, I found out that setting the sort (index or count) on a per field is very easy.
A typical solr fetch with facets might look like this (assuming
type_s is indexed):
facet.sort to count by default, so that can be left undeclared or can be explicitly declared, it does not matter. A problem arises, however, when you have multiple
facet.fields and you want them sorted differently. To solve this you need to follow this format for the declared sort:
f.<facetted_field>.facet.sort=<index|count>. Using the same example as before, but with an extra field it would look like this:
This would sort
type_s by count (default) and sort
location_s by index.
The opposite would also work.
This would change the default sort order to use index for sort and
location_s would use count for sorting.