Hoss Man created SOLR-8005:
------------------------------

             Summary: when some docs have no values, sorting on 
field(multivalued_field,min/max) has inconsistent ordering compared to sorting 
on same effective values in a single valued field
                 Key: SOLR-8005
                 URL: https://issues.apache.org/jira/browse/SOLR-8005
             Project: Solr
          Issue Type: Bug
    Affects Versions: 5.4
            Reporter: Hoss Man


While working on tests for SOLR-8001 i realized that because the multivalued 
min/max selector function (ie: {{field(multivalued_field_name,min)}} produces a 
ValueSource which is a {{SortedSetFieldSource}} instance, and because 
SortedSetFieldSource uses SortedSetSortField when sorting, then in situations 
where some documents do not have any value at all in the multivalued field the 
sort order will be inconsistent compared to sorting on a single valued numeric 
field containing the same "effective" min/max value (where docs w/o a value act 
as if the value is "0" by default).

ie: {{sort=min_of_multivalued_field_name+asc}} vs 
{{sort=field(multivalued_field_name,min)+asc}} will not sort identically.

----

I don't have any immediate ideas for a "fix" to make these situations more 
equivilent, but the current known workarround for people that want equivilent 
behavior is to wrap the {{field}} function in a {{def}} function selecting a 
default value of {{0}} -- ie: 
{{sort=def(field(multivalued_field_name,min))+asc}}.

If the function is already wrapped in some other numeric function, then the 
behavior (combined with the existing bug fix in SOLR-8001) should already be 
equivilent -- ie: {{sort=sum(32,min_of_multivalued_field_name)+asc}} vs 
{{sort=sum(32,field(multivalued_field_name,min))+asc}}




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to