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]