From 1c7517201a48e1cf3f6c424c3310ec39afcee367 Mon Sep 17 00:00:00 2001 From: Tomas Fernandez Lobbe Date: Tue, 4 May 2021 00:09:01 -0700 Subject: [PATCH] SOLR-15391: Enable 'canUsePoints' for PointFields in Solr --- solr/core/src/java/org/apache/solr/schema/PointField.java | 5 ++++- .../src/java/org/apache/solr/search/SolrIndexSearcher.java | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/schema/PointField.java b/solr/core/src/java/org/apache/solr/schema/PointField.java index 2945436323b4..23f4d5882968 100644 --- a/solr/core/src/java/org/apache/solr/schema/PointField.java +++ b/solr/core/src/java/org/apache/solr/schema/PointField.java @@ -298,7 +298,10 @@ public List createFields(SchemaField sf, Object value) { @Override public SortField getSortField(SchemaField field, boolean top) { - return getNumericSort(field, getNumberType(), top); + SortField sf = getNumericSort(field, getNumberType(), top); + // if indexed=true, points can be used for skipping over non competitive docs. + sf.setCanUsePoints(); + return sf; } } diff --git a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java index a87fdfb91608..6f294ef6797b 100644 --- a/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java +++ b/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java @@ -1509,7 +1509,6 @@ private TopDocsCollector buildTopDocsCollector(int len, QueryCommand cmd) throws // we have a sort final Sort weightedSort = weightSort(cmd.getSort()); final CursorMark cursor = cmd.getCursorMark(); - final FieldDoc searchAfter = (null != cursor ? cursor.getSearchAfterFieldDoc() : null); return TopFieldCollector.create(weightedSort, len, searchAfter, minNumFound); }