diff --git a/lucene/core/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java b/lucene/core/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java index 9cebb8e7301..4e816ffa625 100644 --- a/lucene/core/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java +++ b/lucene/core/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java @@ -280,7 +280,7 @@ public void visit(IntsRef ref) { for (int i = 0; i < ref.length; i++) { result.clear(ref.ints[ref.offset + i]); } - cost[0] = -ref.length; + cost[0] = Math.max(0, cost[0] - ref.length); } @Override diff --git a/lucene/core/src/java/org/apache/lucene/document/SpatialQuery.java b/lucene/core/src/java/org/apache/lucene/document/SpatialQuery.java index cc233f89948..4caf0652686 100644 --- a/lucene/core/src/java/org/apache/lucene/document/SpatialQuery.java +++ b/lucene/core/src/java/org/apache/lucene/document/SpatialQuery.java @@ -677,7 +677,7 @@ public void visit(IntsRef ref) { for (int i = 0; i < ref.length; i++) { result.clear(ref.ints[ref.offset + i]); } - cost[0] -= ref.length; + cost[0] = Math.max(0, cost[0] - ref.length); } @Override diff --git a/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java b/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java index e5d956e8d1e..97ae34713f8 100644 --- a/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/PointRangeQuery.java @@ -233,7 +233,7 @@ public void visit(IntsRef ref) { for (int i = ref.offset; i < ref.offset + ref.length; i++) { result.clear(ref.ints[i]); } - cost[0] -= ref.length; + cost[0] = Math.max(0, cost[0] - ref.length); } @Override