diff options
author | Arne Juul <arnej@yahoo-inc.com> | 2018-10-15 07:45:36 +0000 |
---|---|---|
committer | Arne Juul <arnej@yahoo-inc.com> | 2018-10-16 08:45:06 +0000 |
commit | e1f34ea289348f11bd0842bd23294166d09a38ab (patch) | |
tree | c1095dee82963b24634c880cfb5068bb516767af /container-search/src | |
parent | a7f5771a74e31c305cd0bda3dc75b1b1fa5d97ff (diff) |
sort missing (null) field values
This reverts commit 5801a5e4019324cd3212ef5da40f22268c01a03c.
Diffstat (limited to 'container-search/src')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/result/FieldComparator.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/result/FieldComparator.java b/container-search/src/main/java/com/yahoo/search/result/FieldComparator.java index d60075dccd8..c835ab744b1 100644 --- a/container-search/src/main/java/com/yahoo/search/result/FieldComparator.java +++ b/container-search/src/main/java/com/yahoo/search/result/FieldComparator.java @@ -59,11 +59,6 @@ public class FieldComparator extends ChainableComparator { Object a = getField(first,fieldName); Object b = getField(second,fieldName); - // If either of the values are null, don't touch the ordering - // This is to avoid problems if the sorting is called before the - // result is filled. - if ((a == null) || (b == null)) return 0; - int x = compareValues(a, b, fieldOrder.getSorter()); if (x != 0) { if (fieldOrder.getSortOrder() == Sorting.Order.DESCENDING) @@ -123,6 +118,12 @@ public class FieldComparator extends ChainableComparator { @SuppressWarnings("rawtypes") private int compareValues(Object first, Object second, Sorting.AttributeSorter s) { + if (first == null) { + if (second == null) return 0; + return -1; + } else if (second == null) { + return 1; + } if (first.getClass().isInstance(second) && first instanceof Comparable) { // We now know: |