diff options
author | Adrien Grand <jpountz@gmail.com> | 2016-10-04 14:52:52 +0200 |
---|---|---|
committer | Adrien Grand <jpountz@gmail.com> | 2016-10-04 14:54:51 +0200 |
commit | 059052899f235c1533e26b797d269d01052d0da5 (patch) | |
tree | d190741f162525615886ad4b687eb2ee5a675f9c /core/src/main/java/org/elasticsearch/search/sort | |
parent | dc166c5dc6bcf4abb7f25c6f4143f07d8176333d (diff) |
Geo-distance sorting should use `POSITIVE_INFINITY` for missing geo points instead of `MAX_VALUE`.
This is consistent with the behaviour of geo sorting in Lucene and also numeric
fields in Elasticsearch.
Closes #20733
Diffstat (limited to 'core/src/main/java/org/elasticsearch/search/sort')
-rw-r--r-- | core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java b/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java index 9818e4076f..6c3d8b0a53 100644 --- a/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java +++ b/core/src/main/java/org/elasticsearch/search/sort/GeoDistanceSortBuilder.java @@ -586,11 +586,11 @@ public class GeoDistanceSortBuilder extends SortBuilder<GeoDistanceSortBuilder> final SortedNumericDoubleValues distanceValues = GeoDistance.distanceValues(geoPointValues, distances); final NumericDoubleValues selectedValues; if (nested == null) { - selectedValues = finalSortMode.select(distanceValues, Double.MAX_VALUE); + selectedValues = finalSortMode.select(distanceValues, Double.POSITIVE_INFINITY); } else { final BitSet rootDocs = nested.rootDocs(context); final DocIdSetIterator innerDocs = nested.innerDocs(context); - selectedValues = finalSortMode.select(distanceValues, Double.MAX_VALUE, rootDocs, innerDocs, + selectedValues = finalSortMode.select(distanceValues, Double.POSITIVE_INFINITY, rootDocs, innerDocs, context.reader().maxDoc()); } return selectedValues.getRawDoubleValues(); |