Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-11854

multiValued PrimitiveFieldType should implicitly sort on min/max based on the asc/desc keyword

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.3, 8.0
    • Component/s: None
    • Labels:
      None

      Description

      Back in 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)

        Attachments

        1. SOLR-11854.patch
          68 kB
          Chris M. Hostetter
        2. SOLR-11854.patch
          64 kB
          Chris M. Hostetter

          Activity

            People

            • Assignee:
              hossman Chris M. Hostetter
              Reporter:
              hossman Chris M. Hostetter
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: