SOLR-2522, I added new syntax for (numeric) fields such that the field(someMultivaluedFieldName,min|max) syntax could be used to select either the min or max value of a multivalued (docvalues) field for use in other functions – or for sorting.
A little while back, it occured to me that a good "default" behavior for all primative multivalued fields would be:
- automatically use the "min" value when sort=someMultivaluedFieldName asc is attempted
- automatically use the "max" value when sort=someMultivaluedFieldName desc is attempted
These defaults seem like they would be a big improvement over the current "throw an error" default behavior – especially since it naturally reduces down in the trivial case where all docs have at most 1 value anyway – and would align in practice with how most people I've talked to seem to think "sorting on a multivalued field" should work in theory. If users don't like these dafaults, they can always use the explicit field(foo,min|max) syntax instead (ex: if users always want multivalued fields to sort on the 'min' value, regardless of the asc|desc selector)
I've been experimenting with this off and on for a while, working up a POC patch – I think it's worth doing (details to follow in comment)