This is an automated email from the ASF dual-hosted git repository.

ishan pushed a commit to branch ishan/upgrade-to-lucene-10
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/ishan/upgrade-to-lucene-10 by 
this push:
     new 4c141a6348f Test compilation fixes
4c141a6348f is described below

commit 4c141a6348faa7e413f9a04b12ec333b942b8780
Author: Ishan Chattopadhyaya <[email protected]>
AuthorDate: Fri Jan 17 15:17:33 2025 +0530

    Test compilation fixes
---
 .../solr/legacy/LegacyNumericRangeQuery.java       |  27 +-
 .../src/java/org/apache/solr/schema/EnumField.java |   3 +-
 .../src/java/org/apache/solr/schema/TrieField.java |   7 +-
 .../search/LegacyNumericRangeQueryBuilder.java     |   5 +-
 .../legacy/TestMultiValuedNumericRangeQuery.java   |  13 +-
 .../solr/legacy/TestNumericRangeQuery32.java       | 120 +++----
 .../solr/legacy/TestNumericRangeQuery64.java       | 112 +++---
 .../org/apache/solr/schema/DocValuesMultiTest.java |   4 +-
 .../org/apache/solr/schema/MyCrazyCustomField.java |   3 +-
 .../org/apache/solr/search/LargeFieldTest.java     |   2 +-
 .../apache/solr/search/MaxScoreCollectorTest.java  |   5 -
 .../apache/solr/search/RankQueryTestPlugin.java    |   1 -
 .../solr/search/TestCancellableCollector.java      |  14 +-
 .../test/org/apache/solr/search/TestDocSet.java    |  37 +-
 .../solr/search/TestExtendedDismaxParser.java      |   6 +-
 .../apache/solr/search/TestFilteredDocIdSet.java   |  22 +-
 .../solr/search/TestMaxScoreQueryParser.java       |  34 +-
 .../org/apache/solr/search/TestMinHashQParser.java |   2 +-
 .../org/apache/solr/search/TestSolrCoreParser.java |  10 +-
 .../apache/solr/search/TestSolrQueryParser.java    |  18 +-
 .../src/test/org/apache/solr/search/TestSort.java  |  22 +-
 .../apache/solr/search/function/TestOrdValues.java |   4 +-
 .../org/apache/solr/search/join/BJQParserTest.java |   2 +-
 .../solr/search/join/TestScoreJoinQPNoScore.java   |   4 +-
 .../solr/search/join/TestScoreJoinQPScore.java     |   2 +-
 .../join/another/BJQFilterAccessibleTest.java      |   2 +-
 .../apache/solr/uninverting/TestDocTermOrds.java   |  22 +-
 .../apache/solr/uninverting/TestFieldCache.java    |   8 +-
 .../solr/uninverting/TestFieldCacheSort.java       | 378 ++++++++++-----------
 .../solr/uninverting/TestFieldCacheSortRandom.java |  22 +-
 .../solr/uninverting/TestNumericTerms32.java       |  15 +-
 .../solr/uninverting/TestNumericTerms64.java       |  15 +-
 .../solr/uninverting/TestUninvertingReader.java    |  16 +-
 33 files changed, 429 insertions(+), 528 deletions(-)

diff --git 
a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java 
b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
index 0fbc78e3142..f72b99ebf7f 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
@@ -187,8 +187,9 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
       T min,
       T max,
       final boolean minInclusive,
-      final boolean maxInclusive) {
-    super(field, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      final boolean maxInclusive,
+      MultiTermQuery.RewriteMethod rewriteMethod) {
+    super(field, rewriteMethod);
     if (precisionStep < 1) throw new IllegalArgumentException("precisionStep 
must be >=1");
     this.precisionStep = precisionStep;
     this.dataType = Objects.requireNonNull(dataType, "LegacyNumericType must 
not be null");
@@ -211,9 +212,10 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
       Long min,
       Long max,
       final boolean minInclusive,
-      final boolean maxInclusive) {
+      final boolean maxInclusive,
+      RewriteMethod rewriteMethod) {
     return new LegacyNumericRangeQuery<>(
-        field, precisionStep, LegacyNumericType.LONG, min, max, minInclusive, 
maxInclusive);
+        field, precisionStep, LegacyNumericType.LONG, min, max, minInclusive, 
maxInclusive, rewriteMethod);
   }
 
   /**
@@ -237,7 +239,7 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
         min,
         max,
         minInclusive,
-        maxInclusive);
+        maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
   }
 
   /**
@@ -253,9 +255,10 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
       Integer min,
       Integer max,
       final boolean minInclusive,
-      final boolean maxInclusive) {
+      final boolean maxInclusive,
+      RewriteMethod rewriteMethod) {
     return new LegacyNumericRangeQuery<>(
-        field, precisionStep, LegacyNumericType.INT, min, max, minInclusive, 
maxInclusive);
+        field, precisionStep, LegacyNumericType.INT, min, max, minInclusive, 
maxInclusive, rewriteMethod);
   }
 
   /**
@@ -279,7 +282,7 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
         min,
         max,
         minInclusive,
-        maxInclusive);
+        maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
   }
 
   /**
@@ -299,7 +302,7 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
       final boolean minInclusive,
       final boolean maxInclusive) {
     return new LegacyNumericRangeQuery<>(
-        field, precisionStep, LegacyNumericType.DOUBLE, min, max, 
minInclusive, maxInclusive);
+        field, precisionStep, LegacyNumericType.DOUBLE, min, max, 
minInclusive, maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
   }
 
   /**
@@ -324,7 +327,7 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
         min,
         max,
         minInclusive,
-        maxInclusive);
+        maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
   }
 
   /**
@@ -343,7 +346,7 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
       final boolean minInclusive,
       final boolean maxInclusive) {
     return new LegacyNumericRangeQuery<>(
-        field, precisionStep, LegacyNumericType.FLOAT, min, max, minInclusive, 
maxInclusive);
+        field, precisionStep, LegacyNumericType.FLOAT, min, max, minInclusive, 
maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
   }
 
   /**
@@ -368,7 +371,7 @@ public final class LegacyNumericRangeQuery<T extends 
Number> extends MultiTermQu
         min,
         max,
         minInclusive,
-        maxInclusive);
+        maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
   }
 
   @Override
diff --git a/solr/core/src/java/org/apache/solr/schema/EnumField.java 
b/solr/core/src/java/org/apache/solr/schema/EnumField.java
index 6a9633dc454..dd7f65198c8 100644
--- a/solr/core/src/java/org/apache/solr/schema/EnumField.java
+++ b/solr/core/src/java/org/apache/solr/schema/EnumField.java
@@ -25,6 +25,7 @@ import org.apache.lucene.document.NumericDocValuesField;
 import org.apache.lucene.document.SortedSetDocValuesField;
 import org.apache.lucene.index.IndexableField;
 import org.apache.lucene.search.ConstantScoreQuery;
+import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.util.BytesRef;
 import org.apache.lucene.util.BytesRefBuilder;
@@ -106,7 +107,7 @@ public class EnumField extends AbstractEnumField {
               min == null ? null : minValue,
               max == null ? null : maxValue,
               minInclusive,
-              maxInclusive);
+              maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     }
 
     return query;
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieField.java 
b/solr/core/src/java/org/apache/solr/schema/TrieField.java
index 02926704c21..e867e6442a7 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieField.java
@@ -38,6 +38,7 @@ import 
org.apache.lucene.queries.function.valuesource.DoubleFieldSource;
 import org.apache.lucene.queries.function.valuesource.FloatFieldSource;
 import org.apache.lucene.queries.function.valuesource.IntFieldSource;
 import org.apache.lucene.queries.function.valuesource.LongFieldSource;
+import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SortField;
 import org.apache.lucene.search.SortedSetSelector;
@@ -352,7 +353,7 @@ public class TrieField extends NumericFieldType {
                 min == null ? null : parseIntFromUser(field.getName(), min),
                 max == null ? null : parseIntFromUser(field.getName(), max),
                 minInclusive,
-                maxInclusive);
+                maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
         break;
       case FLOAT:
         query =
@@ -372,7 +373,7 @@ public class TrieField extends NumericFieldType {
                 min == null ? null : parseLongFromUser(field.getName(), min),
                 max == null ? null : parseLongFromUser(field.getName(), max),
                 minInclusive,
-                maxInclusive);
+                maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
         break;
       case DOUBLE:
         query =
@@ -392,7 +393,7 @@ public class TrieField extends NumericFieldType {
                 min == null ? null : DateMathParser.parseMath(null, 
min).getTime(),
                 max == null ? null : DateMathParser.parseMath(null, 
max).getTime(),
                 minInclusive,
-                maxInclusive);
+                maxInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
         break;
       default:
         throw new SolrException(
diff --git 
a/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java 
b/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
index f298d8f34f6..da7fe8a7b84 100644
--- 
a/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
+++ 
b/solr/core/src/java/org/apache/solr/search/LegacyNumericRangeQueryBuilder.java
@@ -20,6 +20,7 @@ import org.apache.lucene.queryparser.xml.DOMUtils;
 import org.apache.lucene.queryparser.xml.ParserException;
 import org.apache.lucene.queryparser.xml.QueryBuilder;
 import org.apache.lucene.queryparser.xml.builders.PointRangeQueryBuilder;
+import org.apache.lucene.search.MultiTermQuery;
 import org.apache.lucene.search.Query;
 import org.apache.solr.legacy.LegacyNumericRangeQuery;
 import org.apache.solr.legacy.LegacyNumericUtils;
@@ -112,7 +113,7 @@ public class LegacyNumericRangeQueryBuilder implements 
QueryBuilder {
                 (lowerTerm == null ? null : Integer.valueOf(lowerTerm)),
                 (upperTerm == null ? null : Integer.valueOf(upperTerm)),
                 lowerInclusive,
-                upperInclusive);
+                upperInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
       } else if (type.equalsIgnoreCase("long")) {
         filter =
             LegacyNumericRangeQuery.newLongRange(
@@ -121,7 +122,7 @@ public class LegacyNumericRangeQueryBuilder implements 
QueryBuilder {
                 (lowerTerm == null ? null : Long.valueOf(lowerTerm)),
                 (upperTerm == null ? null : Long.valueOf(upperTerm)),
                 lowerInclusive,
-                upperInclusive);
+                upperInclusive, MultiTermQuery.CONSTANT_SCORE_REWRITE);
       } else if (type.equalsIgnoreCase("double")) {
         filter =
             LegacyNumericRangeQuery.newDoubleRange(
diff --git 
a/solr/core/src/test/org/apache/solr/legacy/TestMultiValuedNumericRangeQuery.java
 
b/solr/core/src/test/org/apache/solr/legacy/TestMultiValuedNumericRangeQuery.java
index c38a405471c..ae5491722e3 100644
--- 
a/solr/core/src/test/org/apache/solr/legacy/TestMultiValuedNumericRangeQuery.java
+++ 
b/solr/core/src/test/org/apache/solr/legacy/TestMultiValuedNumericRangeQuery.java
@@ -22,10 +22,7 @@ import java.util.Locale;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.TermRangeQuery;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.tests.index.RandomIndexWriter;
@@ -79,16 +76,16 @@ public class TestMultiValuedNumericRangeQuery extends 
SolrTestCase {
               "asc", format.format(lower), format.format(upper), true, true);
       LegacyNumericRangeQuery<Integer> tq =
           LegacyNumericRangeQuery.newIntRange("trie", lower, upper, true, 
true);
-      TopScoreDocCollector trCollector = TopScoreDocCollector.create(1, 
Integer.MAX_VALUE);
-      TopScoreDocCollector nrCollector = TopScoreDocCollector.create(1, 
Integer.MAX_VALUE);
+      TopScoreDocCollector trCollector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
+      TopScoreDocCollector nrCollector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(cq, trCollector);
       searcher.search(tq, nrCollector);
       TopDocs trTopDocs = trCollector.topDocs();
       TopDocs nrTopDocs = nrCollector.topDocs();
       assertEquals(
           "Returned count for LegacyNumericRangeQuery and TermRangeQuery must 
be equal",
-          trTopDocs.totalHits.value,
-          nrTopDocs.totalHits.value);
+          trTopDocs.totalHits.value(),
+          nrTopDocs.totalHits.value());
     }
     reader.close();
     directory.close();
diff --git 
a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java 
b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java
index cd2e480a49a..f1770bc9131 100644
--- a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java
+++ b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery32.java
@@ -20,14 +20,7 @@ import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.MultiTermQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopFieldCollector;
-import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.tests.index.RandomIndexWriter;
@@ -160,20 +153,19 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
     String field = "field" + precisionStep;
     int count = 3000;
     int lower = (distance * 3 / 2) + startOffset, upper = lower + count * 
distance + (distance / 3);
-    LegacyNumericRangeQuery<Integer> q =
-        LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true);
+    LegacyNumericRangeQuery<Integer> q;
     for (byte i = 0; i < 2; i++) {
       TopFieldCollector collector =
-          TopFieldCollector.create(Sort.INDEXORDER, noDocs, Integer.MAX_VALUE);
+          new TopFieldCollectorManager(Sort.INDEXORDER, noDocs, 
Integer.MAX_VALUE).newCollector();
       String type;
       switch (i) {
         case 0:
           type = " (constant score filter rewrite)";
-          q.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_REWRITE);
+          q = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
           break;
         case 1:
           type = " (constant score boolean rewrite)";
-          q.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_BOOLEAN_REWRITE);
+          q = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_BOOLEAN_REWRITE);
           break;
         default:
           return;
@@ -183,12 +175,12 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
       ScoreDoc[] sd = topDocs.scoreDocs;
       assertNotNull(sd);
       assertEquals("Score doc count" + type, count, sd.length);
-      Document doc = searcher.doc(sd[0].doc);
+      Document doc = searcher.storedFields().document(sd[0].doc);
       assertEquals(
           "First doc" + type,
           2 * distance + startOffset,
           doc.getField(field).numericValue().intValue());
-      doc = searcher.doc(sd[sd.length - 1].doc);
+      doc = searcher.storedFields().document(sd[sd.length - 1].doc);
       assertEquals(
           "Last doc" + type,
           (1 + count) * distance + startOffset,
@@ -214,7 +206,7 @@ public class TestNumericRangeQuery32 extends SolrTestCase {
   @Test
   public void testOneMatchQuery() throws Exception {
     LegacyNumericRangeQuery<Integer> q =
-        LegacyNumericRangeQuery.newIntRange("ascfield8", 8, 1000, 1000, true, 
true);
+        LegacyNumericRangeQuery.newIntRange("ascfield8", 8, 1000, 1000, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     TopDocs topDocs = searcher.search(q, noDocs);
     ScoreDoc[] sd = topDocs.scoreDocs;
     assertNotNull(sd);
@@ -226,27 +218,27 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
     int count = 3000;
     int upper = (count - 1) * distance + (distance / 3) + startOffset;
     LegacyNumericRangeQuery<Integer> q =
-        LegacyNumericRangeQuery.newIntRange(field, precisionStep, null, upper, 
true, true);
+        LegacyNumericRangeQuery.newIntRange(field, precisionStep, null, upper, 
true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     TopDocs topDocs = searcher.search(q, noDocs, Sort.INDEXORDER);
     ScoreDoc[] sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", count, sd.length);
-    Document doc = searcher.doc(sd[0].doc);
+    Document doc = searcher.storedFields().document(sd[0].doc);
     assertEquals("First doc", startOffset, 
doc.getField(field).numericValue().intValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (count - 1) * distance + startOffset,
         doc.getField(field).numericValue().intValue());
 
-    q = LegacyNumericRangeQuery.newIntRange(field, precisionStep, null, upper, 
false, true);
+    q = LegacyNumericRangeQuery.newIntRange(field, precisionStep, null, upper, 
false, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     topDocs = searcher.search(q, noDocs, Sort.INDEXORDER);
     sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", count, sd.length);
-    doc = searcher.doc(sd[0].doc);
+    doc = searcher.storedFields().document(sd[0].doc);
     assertEquals("First doc", startOffset, 
doc.getField(field).numericValue().intValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (count - 1) * distance + startOffset,
@@ -273,34 +265,34 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
     int count = 3000;
     int lower = (count - 1) * distance + (distance / 3) + startOffset;
     LegacyNumericRangeQuery<Integer> q =
-        LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, null, 
true, true);
+        LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, null, 
true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     TopFieldCollector collector =
-        TopFieldCollector.create(Sort.INDEXORDER, noDocs, Integer.MAX_VALUE);
+        new TopFieldCollectorManager(Sort.INDEXORDER, noDocs, 
Integer.MAX_VALUE).newCollector();
     searcher.search(q, collector);
     TopDocs topDocs = collector.topDocs();
     ScoreDoc[] sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", noDocs - count, sd.length);
-    Document doc = searcher.doc(sd[0].doc);
+    Document doc = searcher.storedFields().document(sd[0].doc);
     assertEquals(
         "First doc", count * distance + startOffset, 
doc.getField(field).numericValue().intValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (noDocs - 1) * distance + startOffset,
         doc.getField(field).numericValue().intValue());
 
-    q = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, null, 
true, false);
-    collector = TopFieldCollector.create(Sort.INDEXORDER, noDocs, 
Integer.MAX_VALUE);
+    q = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, null, 
true, false, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+    collector = new TopFieldCollectorManager(Sort.INDEXORDER, noDocs, 
Integer.MAX_VALUE).newCollector();
     searcher.search(q, collector);
     topDocs = collector.topDocs();
     sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", noDocs - count, sd.length);
-    doc = searcher.doc(sd[0].doc);
+    doc = searcher.storedFields().document(sd[0].doc);
     assertEquals(
         "First doc", count * distance + startOffset, 
doc.getField(field).numericValue().intValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (noDocs - 1) * distance + startOffset,
@@ -416,41 +408,41 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
       }
       // test inclusive range
       Query tq =
-          LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true);
-      TopScoreDocCollector collector = TopScoreDocCollector.create(1, 
Integer.MAX_VALUE);
+          LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      TopScoreDocCollector collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       TopDocs tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to inclusive range 
length",
           upper - lower + 1,
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
       // test exclusive range
-      tq = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, false, false);
-      collector = TopScoreDocCollector.create(1, Integer.MAX_VALUE);
+      tq = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, false, false, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to exclusive range 
length",
           Math.max(upper - lower - 1, 0),
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
       // test left exclusive range
-      tq = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, false, true);
-      collector = TopScoreDocCollector.create(1, Integer.MAX_VALUE);
+      tq = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, false, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to half exclusive range 
length",
           upper - lower,
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
       // test right exclusive range
-      tq = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, false);
-      collector = TopScoreDocCollector.create(1, Integer.MAX_VALUE);
+      tq = LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, false, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to half exclusive range 
length",
           upper - lower,
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
     }
   }
 
@@ -482,13 +474,13 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
             NumericUtils.sortableIntToFloat(upper),
             true,
             true);
-    TopScoreDocCollector collector = TopScoreDocCollector.create(1, 
Integer.MAX_VALUE);
+    TopScoreDocCollector collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
     searcher.search(tq, collector);
     TopDocs tTopDocs = collector.topDocs();
     assertEquals(
         "Returned count of range query must be equal to inclusive range 
length",
         upper - lower + 1,
-        tTopDocs.totalHits.value);
+        tTopDocs.totalHits.value());
   }
 
   @Test
@@ -508,41 +500,41 @@ public class TestNumericRangeQuery32 extends SolrTestCase 
{
 
   @Test
   public void testEqualsAndHash() {
-    QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test1", 4, 
10, 20, true, true));
+    QueryUtils.checkHashEquals(LegacyNumericRangeQuery.newIntRange("test1", 4, 
10, 20, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newIntRange("test2", 4, 10, 20, false, true));
+        LegacyNumericRangeQuery.newIntRange("test2", 4, 10, 20, false, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newIntRange("test3", 4, 10, 20, true, false));
+        LegacyNumericRangeQuery.newIntRange("test3", 4, 10, 20, true, false, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newIntRange("test4", 4, 10, 20, false, false));
+        LegacyNumericRangeQuery.newIntRange("test4", 4, 10, 20, false, false, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newIntRange("test5", 4, 10, null, true, true));
+        LegacyNumericRangeQuery.newIntRange("test5", 4, 10, null, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newIntRange("test6", 4, null, 20, true, true));
+        LegacyNumericRangeQuery.newIntRange("test6", 4, null, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newIntRange("test7", 4, null, null, true, 
true));
+        LegacyNumericRangeQuery.newIntRange("test7", 4, null, null, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkEqual(
-        LegacyNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true),
-        LegacyNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true));
+        LegacyNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newIntRange("test8", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newIntRange("test9", 4, 10, 20, true, true),
-        LegacyNumericRangeQuery.newIntRange("test9", 8, 10, 20, true, true));
+        LegacyNumericRangeQuery.newIntRange("test9", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newIntRange("test9", 8, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newIntRange("test10a", 4, 10, 20, true, true),
-        LegacyNumericRangeQuery.newIntRange("test10b", 4, 10, 20, true, true));
+        LegacyNumericRangeQuery.newIntRange("test10a", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newIntRange("test10b", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newIntRange("test11", 4, 10, 20, true, true),
-        LegacyNumericRangeQuery.newIntRange("test11", 4, 20, 10, true, true));
+        LegacyNumericRangeQuery.newIntRange("test11", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newIntRange("test11", 4, 20, 10, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newIntRange("test12", 4, 10, 20, true, true),
-        LegacyNumericRangeQuery.newIntRange("test12", 4, 10, 20, false, true));
+        LegacyNumericRangeQuery.newIntRange("test12", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newIntRange("test12", 4, 10, 20, false, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newIntRange("test13", 4, 10, 20, true, true),
+        LegacyNumericRangeQuery.newIntRange("test13", 4, 10, 20, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
         LegacyNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, 
true));
     // the following produces a hash collision, because Long and Integer have 
the same hashcode, so
     // only test equality:
-    Query q1 = LegacyNumericRangeQuery.newIntRange("test14", 4, 10, 20, true, 
true);
-    Query q2 = LegacyNumericRangeQuery.newLongRange("test14", 4, 10L, 20L, 
true, true);
+    Query q1 = LegacyNumericRangeQuery.newIntRange("test14", 4, 10, 20, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+    Query q2 = LegacyNumericRangeQuery.newLongRange("test14", 4, 10L, 20L, 
true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     assertNotEquals(q1, q2);
     assertNotEquals(q2, q1);
   }
diff --git 
a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java 
b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java
index 97bac5ef1b5..d7960a3234f 100644
--- a/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java
+++ b/solr/core/src/test/org/apache/solr/legacy/TestNumericRangeQuery64.java
@@ -20,14 +20,7 @@ import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.MultiTermQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopFieldCollector;
-import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.tests.index.RandomIndexWriter;
@@ -172,20 +165,19 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
     int count = 3000;
     long lower = (distance * 3 / 2) + startOffset,
         upper = lower + count * distance + (distance / 3);
-    LegacyNumericRangeQuery<Long> q =
-        LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, true);
+    LegacyNumericRangeQuery<Long> q;
     for (byte i = 0; i < 2; i++) {
       TopFieldCollector collector =
-          TopFieldCollector.create(Sort.INDEXORDER, noDocs, Integer.MAX_VALUE);
+          new TopFieldCollectorManager(Sort.INDEXORDER, noDocs, 
Integer.MAX_VALUE).newCollector();
       String type;
       switch (i) {
         case 0:
           type = " (constant score filter rewrite)";
-          q.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_REWRITE);
+          q = LegacyNumericRangeQuery.newLongRange(field, precisionStep, 
lower, upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
           break;
         case 1:
           type = " (constant score boolean rewrite)";
-          q.setRewriteMethod(MultiTermQuery.CONSTANT_SCORE_BOOLEAN_REWRITE);
+          q = LegacyNumericRangeQuery.newLongRange(field, precisionStep, 
lower, upper, true, true, MultiTermQuery.CONSTANT_SCORE_BOOLEAN_REWRITE);
           break;
         default:
           return;
@@ -195,12 +187,12 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
       ScoreDoc[] sd = topDocs.scoreDocs;
       assertNotNull(sd);
       assertEquals("Score doc count" + type, count, sd.length);
-      Document doc = searcher.doc(sd[0].doc);
+      Document doc = searcher.storedFields().document(sd[0].doc);
       assertEquals(
           "First doc" + type,
           2 * distance + startOffset,
           doc.getField(field).numericValue().longValue());
-      doc = searcher.doc(sd[sd.length - 1].doc);
+      doc = searcher.storedFields().document(sd[sd.length - 1].doc);
       assertEquals(
           "Last doc" + type,
           (1 + count) * distance + startOffset,
@@ -231,7 +223,7 @@ public class TestNumericRangeQuery64 extends SolrTestCase {
   @Test
   public void testOneMatchQuery() throws Exception {
     LegacyNumericRangeQuery<Long> q =
-        LegacyNumericRangeQuery.newLongRange("ascfield8", 8, 1000L, 1000L, 
true, true);
+        LegacyNumericRangeQuery.newLongRange("ascfield8", 8, 1000L, 1000L, 
true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     TopDocs topDocs = searcher.search(q, noDocs);
     ScoreDoc[] sd = topDocs.scoreDocs;
     assertNotNull(sd);
@@ -243,28 +235,28 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
     int count = 3000;
     long upper = (count - 1) * distance + (distance / 3) + startOffset;
     LegacyNumericRangeQuery<Long> q =
-        LegacyNumericRangeQuery.newLongRange(field, precisionStep, null, 
upper, true, true);
+        LegacyNumericRangeQuery.newLongRange(field, precisionStep, null, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
 
     TopDocs topDocs = searcher.search(q, noDocs, Sort.INDEXORDER);
     ScoreDoc[] sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", count, sd.length);
-    Document doc = searcher.doc(sd[0].doc);
+    Document doc = searcher.storedFields().document(sd[0].doc);
     assertEquals("First doc", startOffset, 
doc.getField(field).numericValue().longValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (count - 1) * distance + startOffset,
         doc.getField(field).numericValue().longValue());
 
-    q = LegacyNumericRangeQuery.newLongRange(field, precisionStep, null, 
upper, false, true);
+    q = LegacyNumericRangeQuery.newLongRange(field, precisionStep, null, 
upper, false, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     topDocs = searcher.search(q, noDocs, Sort.INDEXORDER);
     sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", count, sd.length);
-    doc = searcher.doc(sd[0].doc);
+    doc = searcher.storedFields().document(sd[0].doc);
     assertEquals("First doc", startOffset, 
doc.getField(field).numericValue().longValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (count - 1) * distance + startOffset,
@@ -296,33 +288,33 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
     int count = 3000;
     long lower = (count - 1) * distance + (distance / 3) + startOffset;
     LegacyNumericRangeQuery<Long> q =
-        LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
null, true, true);
+        LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
null, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     TopDocs topDocs = searcher.search(q, noDocs, Sort.INDEXORDER);
     ScoreDoc[] sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", noDocs - count, sd.length);
-    Document doc = searcher.doc(sd[0].doc);
+    Document doc = searcher.storedFields().document(sd[0].doc);
     assertEquals(
         "First doc",
         count * distance + startOffset,
         doc.getField(field).numericValue().longValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (noDocs - 1) * distance + startOffset,
         doc.getField(field).numericValue().longValue());
 
-    q = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
null, true, false);
+    q = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
null, true, false, MultiTermQuery.CONSTANT_SCORE_REWRITE);
     topDocs = searcher.search(q, noDocs, Sort.INDEXORDER);
     sd = topDocs.scoreDocs;
     assertNotNull(sd);
     assertEquals("Score doc count", noDocs - count, sd.length);
-    doc = searcher.doc(sd[0].doc);
+    doc = searcher.storedFields().document(sd[0].doc);
     assertEquals(
         "First doc",
         count * distance + startOffset,
         doc.getField(field).numericValue().longValue());
-    doc = searcher.doc(sd[sd.length - 1].doc);
+    doc = searcher.storedFields().document(sd[sd.length - 1].doc);
     assertEquals(
         "Last doc",
         (noDocs - 1) * distance + startOffset,
@@ -439,41 +431,41 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
       }
       // test inclusive range
       Query tq =
-          LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, true);
-      TopScoreDocCollector collector = TopScoreDocCollector.create(1, 
Integer.MAX_VALUE);
+          LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      TopScoreDocCollector collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       TopDocs tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to inclusive range 
length",
           upper - lower + 1,
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
       // test exclusive range
-      tq = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, false, false);
-      collector = TopScoreDocCollector.create(1, Integer.MAX_VALUE);
+      tq = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, false, false, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to exclusive range 
length",
           Math.max(upper - lower - 1, 0),
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
       // test left exclusive range
-      tq = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, false, true);
-      collector = TopScoreDocCollector.create(1, Integer.MAX_VALUE);
+      tq = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, false, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to half exclusive range 
length",
           upper - lower,
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
       // test right exclusive range
-      tq = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, false);
-      collector = TopScoreDocCollector.create(1, Integer.MAX_VALUE);
+      tq = LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, false, MultiTermQuery.CONSTANT_SCORE_REWRITE);
+      collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
       searcher.search(tq, collector);
       tTopDocs = collector.topDocs();
       assertEquals(
           "Returned count of range query must be equal to half exclusive range 
length",
           upper - lower,
-          tTopDocs.totalHits.value);
+          tTopDocs.totalHits.value());
     }
   }
 
@@ -510,13 +502,13 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
             NumericUtils.sortableLongToDouble(upper),
             true,
             true);
-    TopScoreDocCollector collector = TopScoreDocCollector.create(1, 
Integer.MAX_VALUE);
+    TopScoreDocCollector collector = new TopScoreDocCollectorManager(1, 
Integer.MAX_VALUE).newCollector();
     searcher.search(tq, collector);
     TopDocs tTopDocs = collector.topDocs();
     assertEquals(
         "Returned count of range query must be equal to inclusive range 
length",
         upper - lower + 1,
-        tTopDocs.totalHits.value);
+        tTopDocs.totalHits.value());
   }
 
   @Test
@@ -542,36 +534,36 @@ public class TestNumericRangeQuery64 extends SolrTestCase 
{
   @Test
   public void testEqualsAndHash() {
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test1", 4, 10L, 20L, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test1", 4, 10L, 20L, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test2", 4, 10L, 20L, false, 
true));
+        LegacyNumericRangeQuery.newLongRange("test2", 4, 10L, 20L, false, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test3", 4, 10L, 20L, true, 
false));
+        LegacyNumericRangeQuery.newLongRange("test3", 4, 10L, 20L, true, 
false, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test4", 4, 10L, 20L, false, 
false));
+        LegacyNumericRangeQuery.newLongRange("test4", 4, 10L, 20L, false, 
false, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test5", 4, 10L, null, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test5", 4, 10L, null, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test6", 4, null, 20L, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test6", 4, null, 20L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkHashEquals(
-        LegacyNumericRangeQuery.newLongRange("test7", 4, null, null, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test7", 4, null, null, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkEqual(
-        LegacyNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true),
-        LegacyNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newLongRange("test8", 4, 10L, 20L, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newLongRange("test9", 4, 10L, 20L, true, true),
-        LegacyNumericRangeQuery.newLongRange("test9", 8, 10L, 20L, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test9", 4, 10L, 20L, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newLongRange("test9", 8, 10L, 20L, true, true, 
MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newLongRange("test10a", 4, 10L, 20L, true, 
true),
-        LegacyNumericRangeQuery.newLongRange("test10b", 4, 10L, 20L, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test10a", 4, 10L, 20L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newLongRange("test10b", 4, 10L, 20L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newLongRange("test11", 4, 10L, 20L, true, 
true),
-        LegacyNumericRangeQuery.newLongRange("test11", 4, 20L, 10L, true, 
true));
+        LegacyNumericRangeQuery.newLongRange("test11", 4, 10L, 20L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newLongRange("test11", 4, 20L, 10L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, true, 
true),
-        LegacyNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, false, 
true));
+        LegacyNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE),
+        LegacyNumericRangeQuery.newLongRange("test12", 4, 10L, 20L, false, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE));
     QueryUtils.checkUnequal(
-        LegacyNumericRangeQuery.newLongRange("test13", 4, 10L, 20L, true, 
true),
+        LegacyNumericRangeQuery.newLongRange("test13", 4, 10L, 20L, true, 
true, MultiTermQuery.CONSTANT_SCORE_REWRITE),
         LegacyNumericRangeQuery.newFloatRange("test13", 4, 10f, 20f, true, 
true));
     // difference to int range is tested in TestNumericRangeQuery32
   }
diff --git a/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java 
b/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
index f23dac91902..87f0469a95a 100644
--- a/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
@@ -96,13 +96,13 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
         assertEquals(0, dv.nextDoc());
         assertEquals(0, dv.nextOrd());
         assertEquals(1, dv.nextOrd());
-        assertEquals(SortedSetDocValues.NO_MORE_ORDS, dv.nextOrd());
+        assertEquals(SortedSetDocValues.NO_MORE_DOCS, dv.nextOrd());
 
         dv = reader.getSortedSetDocValues("booldv");
         assertEquals(0, dv.nextDoc());
         assertEquals(0, dv.nextOrd());
         assertEquals(1, dv.nextOrd());
-        assertEquals(SortedSetDocValues.NO_MORE_ORDS, dv.nextOrd());
+        assertEquals(SortedSetDocValues.NO_MORE_DOCS, dv.nextOrd());
 
       } finally {
         searcherRef.decref();
diff --git a/solr/core/src/test/org/apache/solr/schema/MyCrazyCustomField.java 
b/solr/core/src/test/org/apache/solr/schema/MyCrazyCustomField.java
index a0228dbc393..c3f44d921ed 100644
--- a/solr/core/src/test/org/apache/solr/schema/MyCrazyCustomField.java
+++ b/solr/core/src/test/org/apache/solr/schema/MyCrazyCustomField.java
@@ -51,8 +51,7 @@ public class MyCrazyCustomField extends TextField {
       termStr = "foo";
     }
 
-    PrefixQuery query = new PrefixQuery(new Term(sf.getName(), termStr));
-    query.setRewriteMethod(sf.getType().getRewriteMethod(parser, sf));
+    PrefixQuery query = new PrefixQuery(new Term(sf.getName(), termStr), 
sf.getType().getRewriteMethod(parser, sf));
     return query;
   }
 }
diff --git a/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java 
b/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java
index 0cda9dcfe7b..f5c05302028 100644
--- a/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java
@@ -96,7 +96,7 @@ public class LargeFieldTest extends SolrTestCaseJ4 {
     assertQ(req("q", "101", "df", ID_FLD, "fl", ID_FLD)); // eager load 
ID_FLD; rest are lazy
 
     // fetch the document; we know it will be from the documentCache, docId 0
-    final Document d = h.getCore().withSearcher(searcher -> searcher.doc(0));
+    final Document d = h.getCore().withSearcher(searcher -> 
searcher.storedFields().document(0));
 
     assertEager(d, ID_FLD);
     assertLazyNotLoaded(d, LAZY_FIELD);
diff --git 
a/solr/core/src/test/org/apache/solr/search/MaxScoreCollectorTest.java 
b/solr/core/src/test/org/apache/solr/search/MaxScoreCollectorTest.java
index 397510230fd..554fd8936d1 100644
--- a/solr/core/src/test/org/apache/solr/search/MaxScoreCollectorTest.java
+++ b/solr/core/src/test/org/apache/solr/search/MaxScoreCollectorTest.java
@@ -74,11 +74,6 @@ public class MaxScoreCollectorTest extends SolrTestCase {
       return nextScore;
     }
 
-    @Override
-    public int docID() {
-      return 0;
-    }
-
     @Override
     public void setMinCompetitiveScore(float minScore) {
       this.minCompetitiveScore = minScore;
diff --git a/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java 
b/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
index 674836772f7..8185fe1878b 100644
--- a/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
@@ -476,7 +476,6 @@ public class RankQueryTestPlugin extends QParserPlugin {
         this.score = score;
       }
 
-      @Override
       public int docID() {
         return docid;
       }
diff --git 
a/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java 
b/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java
index c6ec03f683e..602b0e41cf9 100644
--- a/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java
+++ b/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java
@@ -27,15 +27,7 @@ import org.apache.lucene.document.SortedDocValuesField;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.Term;
-import org.apache.lucene.search.FilterLeafCollector;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.LeafCollector;
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.TermQuery;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopScoreDocCollector;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.index.RandomIndexWriter;
 import org.apache.lucene.util.BytesRef;
@@ -96,7 +88,7 @@ public class TestCancellableCollector extends SolrTestCase {
 
   private CancellableCollector buildCancellableCollector(
       final int numHits, boolean delayStart, boolean delayCollection) {
-    TopScoreDocCollector topScoreDocCollector = 
TopScoreDocCollector.create(numHits, null, 1);
+    TopScoreDocCollector topScoreDocCollector = new 
TopScoreDocCollectorManager(numHits, null, 1).newCollector();
     CancellableCollector collector = new 
CancellableCollector(topScoreDocCollector);
 
     return new DummyCancellableCollector(collector, delayStart, 
delayCollection);
@@ -114,7 +106,7 @@ public class TestCancellableCollector extends SolrTestCase {
     TopScoreDocCollector topScoreDocCollector =
         (TopScoreDocCollector) 
internalCancellableCollector.getInternalCollector();
 
-    assertEquals(topDocs.totalHits.value, topScoreDocCollector.getTotalHits());
+    assertEquals(topDocs.totalHits.value(), 
topScoreDocCollector.getTotalHits());
   }
 
   private void cancelQuery(CancellableCollector cancellableCollector) {
diff --git a/solr/core/src/test/org/apache/solr/search/TestDocSet.java 
b/solr/core/src/test/org/apache/solr/search/TestDocSet.java
index a554ce2f409..a177602b495 100644
--- a/solr/core/src/test/org/apache/solr/search/TestDocSet.java
+++ b/solr/core/src/test/org/apache/solr/search/TestDocSet.java
@@ -22,26 +22,8 @@ import java.util.List;
 import java.util.Random;
 import java.util.function.Supplier;
 import java.util.function.ToIntFunction;
-import org.apache.lucene.index.BinaryDocValues;
-import org.apache.lucene.index.ByteVectorValues;
-import org.apache.lucene.index.FieldInfos;
-import org.apache.lucene.index.Fields;
-import org.apache.lucene.index.FloatVectorValues;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.index.IndexReaderContext;
-import org.apache.lucene.index.LeafMetaData;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.index.MultiReader;
-import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.index.PointValues;
-import org.apache.lucene.index.SortedDocValues;
-import org.apache.lucene.index.SortedNumericDocValues;
-import org.apache.lucene.index.SortedSetDocValues;
-import org.apache.lucene.index.StoredFieldVisitor;
-import org.apache.lucene.index.StoredFields;
-import org.apache.lucene.index.TermVectors;
-import org.apache.lucene.index.Terms;
+
+import org.apache.lucene.index.*;
 import org.apache.lucene.search.DocIdSet;
 import org.apache.lucene.search.DocIdSetIterator;
 import org.apache.lucene.search.KnnCollector;
@@ -302,12 +284,6 @@ public class TestDocSet extends SolrTestCase {
         return maxDoc;
       }
 
-      @Override
-      @Deprecated
-      public Fields getTermVectors(int docID) {
-        return null;
-      }
-
       @Override
       public TermVectors termVectors() {
         return null;
@@ -363,6 +339,11 @@ public class TestDocSet extends SolrTestCase {
         return null;
       }
 
+      @Override
+      public DocValuesSkipper getDocValuesSkipper(String field) throws 
IOException {
+        return null;
+      }
+
       @Override
       public PointValues getPointValues(String field) {
         return null;
@@ -394,10 +375,6 @@ public class TestDocSet extends SolrTestCase {
       @Override
       protected void doClose() {}
 
-      @Override
-      @Deprecated
-      public void document(int doc, StoredFieldVisitor visitor) {}
-
       @Override
       public void checkIntegrity() {}
 
diff --git 
a/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java 
b/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
index d6f20f0e49a..d3c173f9654 100644
--- a/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
@@ -3158,7 +3158,7 @@ public class TestExtendedDismaxParser extends 
SolrTestCaseJ4 {
   private boolean containsClause(
       BooleanQuery query, String field, String value, int boost, boolean 
fuzzy) {
     for (BooleanClause clause : query) {
-      if (containsClause(clause.getQuery(), field, value, boost, fuzzy)) {
+      if (containsClause(clause.query(), field, value, boost, fuzzy)) {
         return true;
       }
     }
@@ -3271,13 +3271,13 @@ public class TestExtendedDismaxParser extends 
SolrTestCaseJ4 {
           boolean rewrittenSubQ = false; // dirty flag: rebuild the repacked 
query?
           BooleanQuery.Builder builder = newBooleanQuery();
           for (BooleanClause clause : ((BooleanQuery) q).clauses()) {
-            Query subQ = clause.getQuery();
+            Query subQ = clause.query();
             if (subQ instanceof TermQuery) {
               Term subTerm = ((TermQuery) subQ).getTerm();
               if (frequentlyMisspelledWords.contains(subTerm.text())) {
                 rewrittenSubQ = true;
                 Query fuzzySubQ = newFuzzyQuery(subTerm, MIN_SIMILARITY, 
getFuzzyPrefixLength());
-                clause = newBooleanClause(fuzzySubQ, clause.getOccur());
+                clause = newBooleanClause(fuzzySubQ, clause.occur());
               }
             }
             builder.add(clause);
diff --git 
a/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java 
b/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
index 153db65f0f7..5a18c549fb9 100644
--- a/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
+++ b/solr/core/src/test/org/apache/solr/search/TestFilteredDocIdSet.java
@@ -23,18 +23,8 @@ import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.search.*;
 import org.apache.lucene.search.BooleanClause.Occur;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.search.DocIdSetIterator;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.MatchAllDocsQuery;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryVisitor;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Weight;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.index.RandomIndexWriter;
 import org.apache.solr.SolrTestCase;
@@ -125,7 +115,7 @@ public class TestFilteredDocIdSet extends SolrTestCase {
 
     // First verify the document is searchable.
     IndexSearcher searcher = newSearcher(reader);
-    assertEquals(1, searcher.search(new MatchAllDocsQuery(), 
10).totalHits.value);
+    assertEquals(1, searcher.search(new MatchAllDocsQuery(), 
10).totalHits.value());
 
     // Now search w/ a Query which returns a null Scorer
     DocSetQuery f = new DocSetQuery(DocSet.empty());
@@ -135,7 +125,7 @@ public class TestFilteredDocIdSet extends SolrTestCase {
             .add(new MatchAllDocsQuery(), Occur.MUST)
             .add(f, Occur.FILTER)
             .build();
-    assertEquals(0, searcher.search(filtered, 10).totalHits.value);
+    assertEquals(0, searcher.search(filtered, 10).totalHits.value());
     reader.close();
     dir.close();
   }
@@ -151,7 +141,7 @@ public class TestFilteredDocIdSet extends SolrTestCase {
 
     // First verify the document is searchable.
     IndexSearcher searcher = newSearcher(reader);
-    assertEquals(1, searcher.search(new MatchAllDocsQuery(), 
10).totalHits.value);
+    assertEquals(1, searcher.search(new MatchAllDocsQuery(), 
10).totalHits.value());
 
     // Now search w/ a Query which returns a null Scorer
     Query f =
@@ -166,7 +156,7 @@ public class TestFilteredDocIdSet extends SolrTestCase {
               }
 
               @Override
-              public Scorer scorer(LeafReaderContext leafReaderContext) {
+              public ScorerSupplier scorerSupplier(LeafReaderContext 
leafReaderContext) {
                 return null;
               }
 
@@ -201,7 +191,7 @@ public class TestFilteredDocIdSet extends SolrTestCase {
             .add(new MatchAllDocsQuery(), Occur.MUST)
             .add(f, Occur.FILTER)
             .build();
-    assertEquals(0, searcher.search(filtered, 10).totalHits.value);
+    assertEquals(0, searcher.search(filtered, 10).totalHits.value());
     reader.close();
     dir.close();
   }
diff --git 
a/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java 
b/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
index 1fca65a53bf..d559beb4d76 100644
--- a/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
@@ -88,10 +88,10 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
     q = parse("foo bar");
     clauses = clauses(q);
     assertEquals(1, clauses.length);
-    assertTrue(clauses[0].getQuery() instanceof DisjunctionMaxQuery);
+    assertTrue(clauses[0].query() instanceof DisjunctionMaxQuery);
     assertEquals(
-        0.0, ((DisjunctionMaxQuery) 
clauses[0].getQuery()).getTieBreakerMultiplier(), 1e-15);
-    Collection<Query> qa = ((DisjunctionMaxQuery) 
clauses[0].getQuery()).getDisjuncts();
+        0.0, ((DisjunctionMaxQuery) 
clauses[0].query()).getTieBreakerMultiplier(), 1e-15);
+    Collection<Query> qa = ((DisjunctionMaxQuery) 
clauses[0].query()).getDisjuncts();
     assertEquals(2, qa.size());
     final Collection<String> qaStrings =
         qa.stream().map(q -> q.toString()).collect(Collectors.toList());
@@ -103,9 +103,9 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
     q = parse("foo bar -baz");
     clauses = clauses(q);
     assertEquals(2, clauses.length);
-    assertTrue(clauses[0].getQuery() instanceof DisjunctionMaxQuery);
-    assertTrue(clauses[1].getQuery() instanceof TermQuery);
-    assertEquals("text:baz", clauses[1].getQuery().toString());
+    assertTrue(clauses[0].query() instanceof DisjunctionMaxQuery);
+    assertTrue(clauses[1].query() instanceof TermQuery);
+    assertEquals("text:baz", clauses[1].query().toString());
     assertTrue(clauses[1].isProhibited());
   }
 
@@ -114,9 +114,9 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
     q = parse("foo bar", "tie", "0.5");
     clauses = clauses(q);
     assertEquals(1, clauses.length);
-    assertTrue(clauses[0].getQuery() instanceof DisjunctionMaxQuery);
+    assertTrue(clauses[0].query() instanceof DisjunctionMaxQuery);
     assertEquals(
-        0.5, ((DisjunctionMaxQuery) 
clauses[0].getQuery()).getTieBreakerMultiplier(), 1e-15);
+        0.5, ((DisjunctionMaxQuery) 
clauses[0].query()).getTieBreakerMultiplier(), 1e-15);
   }
 
   @Test
@@ -130,8 +130,8 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
     q = parse("foo^5.0 bar^6.0 +baz^7");
     clauses = clauses(q);
     assertEquals(2, clauses.length);
-    assertTrue(clauses[0].getQuery() instanceof DisjunctionMaxQuery);
-    DisjunctionMaxQuery dmq = ((DisjunctionMaxQuery) clauses[0].getQuery());
+    assertTrue(clauses[0].query() instanceof DisjunctionMaxQuery);
+    DisjunctionMaxQuery dmq = ((DisjunctionMaxQuery) clauses[0].query());
     Query fooClause =
         ((BooleanQuery)
                 dmq.getDisjuncts().stream()
@@ -141,7 +141,7 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
             .clauses()
             .iterator()
             .next()
-            .getQuery();
+            .query();
     assertEquals(5.0, ((BoostQuery) fooClause).getBoost(), 1e-15);
     Query barClause =
         ((BooleanQuery)
@@ -152,17 +152,17 @@ public class TestMaxScoreQueryParser extends 
SolrTestCaseJ4 {
             .clauses()
             .iterator()
             .next()
-            .getQuery();
+            .query();
     assertEquals(6.0, ((BoostQuery) barClause).getBoost(), 1e-15);
-    assertEquals(7.0, ((BoostQuery) clauses[1].getQuery()).getBoost(), 1e-15);
+    assertEquals(7.0, ((BoostQuery) clauses[1].query()).getBoost(), 1e-15);
     assertFalse(q instanceof BoostQuery);
 
     // Grouped with parens on top level
     q = parse("(foo^2.0 bar)^3.0");
     clauses = clauses(q);
     assertEquals(1, clauses.length);
-    assertTrue(clauses[0].getQuery() instanceof DisjunctionMaxQuery);
-    dmq = ((DisjunctionMaxQuery) clauses[0].getQuery());
+    assertTrue(clauses[0].query() instanceof DisjunctionMaxQuery);
+    dmq = ((DisjunctionMaxQuery) clauses[0].query());
     fooClause =
         ((BooleanQuery)
                 dmq.getDisjuncts().stream()
@@ -172,7 +172,7 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
             .clauses()
             .iterator()
             .next()
-            .getQuery();
+            .query();
     assertEquals(2.0, ((BoostQuery) fooClause).getBoost(), 1e-15);
     barClause =
         ((BooleanQuery)
@@ -183,7 +183,7 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 
{
             .clauses()
             .iterator()
             .next()
-            .getQuery();
+            .query();
     assertFalse(barClause instanceof BoostQuery);
     assertEquals(3.0, ((BoostQuery) q).getBoost(), 1e-15);
   }
diff --git a/solr/core/src/test/org/apache/solr/search/TestMinHashQParser.java 
b/solr/core/src/test/org/apache/solr/search/TestMinHashQParser.java
index 45457356de6..73f7557f9da 100644
--- a/solr/core/src/test/org/apache/solr/search/TestMinHashQParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestMinHashQParser.java
@@ -424,7 +424,7 @@ public class TestMinHashQParser extends SolrTestCaseJ4 {
     assertEquals(4, bq.clauses().size());
     for (BooleanClause clause : bq.clauses()) {
       assertEquals(
-          3, ((BooleanQuery) ((ConstantScoreQuery) 
clause.getQuery()).getQuery()).clauses().size());
+          3, ((BooleanQuery) ((ConstantScoreQuery) 
clause.query()).getQuery()).clauses().size());
     }
   }
 
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java 
b/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java
index ac080b5e686..16708747fc7 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java
@@ -123,8 +123,8 @@ public class TestSolrCoreParser extends SolrTestCaseJ4 {
     assertTrue(query instanceof BooleanQuery);
     final BooleanQuery bq = (BooleanQuery) query;
     assertEquals(2, bq.clauses().size());
-    assertTrue(bq.clauses().get(0).getQuery() instanceof MatchAllDocsQuery);
-    assertTrue(bq.clauses().get(1).getQuery() instanceof MatchNoDocsQuery);
+    assertTrue(bq.clauses().get(0).query() instanceof MatchAllDocsQuery);
+    assertTrue(bq.clauses().get(1).query() instanceof MatchNoDocsQuery);
   }
 
   // test custom query (HandyQueryBuilder) wrapping a SpanQuery
@@ -144,7 +144,7 @@ public class TestSolrCoreParser extends SolrTestCaseJ4 {
     final BooleanQuery bq = (BooleanQuery) query;
     assertEquals(2, bq.clauses().size());
     for (int ii = 0; ii < bq.clauses().size(); ++ii) {
-      final Query clauseQuery = bq.clauses().get(ii).getQuery();
+      final Query clauseQuery = bq.clauses().get(ii).query();
       switch (ii) {
         case 0:
           assertTrue(clauseQuery instanceof SpanOrQuery);
@@ -204,8 +204,8 @@ public class TestSolrCoreParser extends SolrTestCaseJ4 {
       assertTrue(query instanceof BooleanQuery);
       final BooleanQuery bq = (BooleanQuery) query;
       assertEquals(2, bq.clauses().size());
-      checkChooseOneWordQuery(span, bq.clauses().get(0).getQuery(), fieldName, 
randomTerms);
-      checkApacheLuceneSolr(bq.clauses().get(1).getQuery(), fieldName);
+      checkChooseOneWordQuery(span, bq.clauses().get(0).query(), fieldName, 
randomTerms);
+      checkApacheLuceneSolr(bq.clauses().get(1).query(), fieldName);
     }
   }
 
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java 
b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
index 568ad1fd2ec..96d06362f72 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrQueryParser.java
@@ -371,7 +371,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
       qParser.setIsFilter(true); // this may change in the future
       qParser.setParams(params);
       q = qParser.getQuery();
-      assertEquals(26, ((TermInSetQuery) q).getTermData().size());
+      assertEquals(26, ((TermInSetQuery) q).getTermsCount());
 
       // large numeric filter query should use TermsQuery
       qParser =
@@ -399,7 +399,7 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
               ((PointInSetQuery) q).getPackedPoints().size());
         }
       } else {
-        assertEquals(20, ((TermInSetQuery) q).getTermData().size());
+        assertEquals(20, ((TermInSetQuery) q).getTermsCount());
       }
 
       // for point fields large filter query should use PointInSetQuery
@@ -425,16 +425,16 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
       qParser.setParams(params);
       q = qParser.getQuery();
       assertEquals(2, ((BooleanQuery) q).clauses().size());
-      qq = ((BooleanQuery) q).clauses().get(0).getQuery();
+      qq = ((BooleanQuery) q).clauses().get(0).query();
       if (qq instanceof TermQuery) {
-        qq = ((BooleanQuery) q).clauses().get(1).getQuery();
+        qq = ((BooleanQuery) q).clauses().get(1).query();
       }
 
       if (qq instanceof FilterQuery) {
         qq = ((FilterQuery) qq).getQuery();
       }
 
-      assertEquals(26, ((TermInSetQuery) qq).getTermData().size());
+      assertEquals(26, ((TermInSetQuery) qq).getTermsCount());
 
       // test mixed boolean query, including quotes (which shouldn't matter)
       qParser =
@@ -447,10 +447,10 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
       assertEquals(4, ((BooleanQuery) q).clauses().size());
       qq = null;
       for (BooleanClause clause : ((BooleanQuery) q).clauses()) {
-        qq = clause.getQuery();
+        qq = clause.query();
         if (qq instanceof TermInSetQuery) break;
       }
-      assertEquals(26, ((TermInSetQuery) qq).getTermData().size());
+      assertEquals(26, ((TermInSetQuery) qq).getTermsCount());
 
       // test terms queries of two different fields (LUCENE-7637 changed to 
require all terms be in
       // the same field)
@@ -465,8 +465,8 @@ public class TestSolrQueryParser extends SolrTestCaseJ4 {
       q = qParser.getQuery();
       assertEquals(2, ((BooleanQuery) q).clauses().size());
       for (BooleanClause clause : ((BooleanQuery) q).clauses()) {
-        qq = clause.getQuery();
-        assertEquals(17, ((TermInSetQuery) qq).getTermData().size());
+        qq = clause.query();
+        assertEquals(17, ((TermInSetQuery) qq).getTermsCount());
       }
     }
     req.close();
diff --git a/solr/core/src/test/org/apache/solr/search/TestSort.java 
b/solr/core/src/test/org/apache/solr/search/TestSort.java
index a13b1b1081a..e57d5416fd7 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSort.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSort.java
@@ -31,24 +31,8 @@ import org.apache.lucene.index.DirectoryReader;
 import org.apache.lucene.index.IndexWriter;
 import org.apache.lucene.index.IndexWriterConfig;
 import org.apache.lucene.index.LeafReaderContext;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.DocIdSet;
-import org.apache.lucene.search.Explanation;
-import org.apache.lucene.search.FilterCollector;
-import org.apache.lucene.search.FilterLeafCollector;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.LeafCollector;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryVisitor;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
+import org.apache.lucene.search.*;
 import org.apache.lucene.search.SortField.Type;
-import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.search.TopFieldCollector;
-import org.apache.lucene.search.Weight;
 import org.apache.lucene.store.ByteBuffersDirectory;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.util.TestUtil;
@@ -258,7 +242,7 @@ public class TestSort extends SolrTestCaseJ4 {
                   }
 
                   @Override
-                  public Scorer scorer(LeafReaderContext leafReaderContext) {
+                  public ScorerSupplier scorerSupplier(LeafReaderContext 
leafReaderContext) {
                     return null;
                   }
 
@@ -323,7 +307,7 @@ public class TestSort extends SolrTestCaseJ4 {
                 : "zzz";
 
         final TopFieldCollector topCollector =
-            TopFieldCollector.create(sort, top, Integer.MAX_VALUE);
+            new TopFieldCollectorManager(sort, top, 
Integer.MAX_VALUE).newCollector();
 
         final List<MyDoc> collectedDocs = new ArrayList<>();
         // delegate and collect docs ourselves
diff --git 
a/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java 
b/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
index 4081fc3b671..e0682518a5e 100644
--- a/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
+++ b/solr/core/src/test/org/apache/solr/search/function/TestOrdValues.java
@@ -97,7 +97,7 @@ public class TestOrdValues extends SolrTestCase {
             : "IC"; // smaller than all ids of docs in this test ("ID0001", 
etc.)
 
     for (int i = 0; i < h.length; i++) {
-      String resID = s.doc(h[i].doc).get(ID_FIELD);
+      String resID = s.storedFields().document(h[i].doc).get(ID_FIELD);
       log(i + ".   score=" + h[i].score + "  -  " + resID);
       log(s.explain(q, h[i].doc));
       if (inOrder) {
@@ -136,7 +136,7 @@ public class TestOrdValues extends SolrTestCase {
     }
     Query q = new FunctionQuery(vs);
     TopDocs td = s.search(q, 1000);
-    assertEquals("All docs should be matched!", N_DOCS, td.totalHits.value);
+    assertEquals("All docs should be matched!", N_DOCS, td.totalHits.value());
     ScoreDoc sd[] = td.scoreDocs;
     StoredFields storedFields = s.getIndexReader().storedFields();
     for (int i = 0; i < sd.length; i++) {
diff --git a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java 
b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
index 5fcb7455187..62ab2528709 100644
--- a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
@@ -642,7 +642,7 @@ public class BJQParserTest extends SolrTestCaseJ4 {
       QParser parser = QParser.getParser(req.getParams().get("q"), null, req);
       query = parser.getQuery();
       final TopDocs topDocs = req.getSearcher().search(query, 10);
-      assertEquals(1, topDocs.totalHits.value);
+      assertEquals(1, topDocs.totalHits.value());
     }
     assertU(adoc("id", "12275", "child_s", "l", "childparent_s", "e"));
     assertU(commit());
diff --git 
a/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPNoScore.java 
b/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPNoScore.java
index 0d4bb489fd8..ceb27a4ed44 100644
--- a/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPNoScore.java
+++ b/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPNoScore.java
@@ -221,7 +221,7 @@ public class TestScoreJoinQPNoScore extends SolrTestCaseJ4 {
 
       {
         final Query query = QParser.getParser(req.getParams().get("q"), 
req).getQuery();
-        final Query rewrittenQuery = 
query.rewrite(req.getSearcher().getIndexReader());
+        final Query rewrittenQuery = query.rewrite(req.getSearcher());
         assertEquals(
             rewrittenQuery + " is expected to be from Solr",
             ScoreJoinQParserPlugin.class.getPackage().getName(),
@@ -230,7 +230,7 @@ public class TestScoreJoinQPNoScore extends SolrTestCaseJ4 {
       {
         final Query query =
             QParser.getParser("{!join from=dept_id_s 
to=dept_ss}text_t:develop", req).getQuery();
-        final Query rewrittenQuery = 
query.rewrite(req.getSearcher().getIndexReader());
+        final Query rewrittenQuery = query.rewrite(req.getSearcher());
         assertEquals(
             rewrittenQuery + " is expected to be from Solr",
             JoinQParserPlugin.class.getPackage().getName(),
diff --git 
a/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPScore.java 
b/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPScore.java
index 3928d001b16..1c7e9629cd7 100644
--- a/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPScore.java
+++ b/solr/core/src/test/org/apache/solr/search/join/TestScoreJoinQPScore.java
@@ -218,7 +218,7 @@ public class TestScoreJoinQPScore extends SolrTestCaseJ4 {
     final Query luceneQ =
         QParser.getParser(req.getParams().get("q"), req)
             .getQuery()
-            .rewrite(req.getSearcher().getSlowAtomicReader());
+            .rewrite(req.getSearcher());
     assertTrue(luceneQ instanceof BoostQuery);
     float boost = ((BoostQuery) luceneQ).getBoost();
     assertEquals("" + luceneQ, Float.floatToIntBits(200), 
Float.floatToIntBits(boost));
diff --git 
a/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
 
b/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
index 973bfee6c69..d6c5dcf3bb0 100644
--- 
a/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
+++ 
b/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
@@ -54,7 +54,7 @@ public class BJQFilterAccessibleTest extends SolrTestCaseJ4 {
               childQuery,
               BlockJoinParentQParser.getCachedBitSetProducer(req, parentQuery),
               ScoreMode.Max);
-      assertEquals(6, req.getSearcher().search(tpbjq, 10).totalHits.value);
+      assertEquals(6, req.getSearcher().search(tpbjq, 10).totalHits.value());
     }
   }
 }
diff --git 
a/solr/core/src/test/org/apache/solr/uninverting/TestDocTermOrds.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestDocTermOrds.java
index 21aa4f1576c..92e80b87a35 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestDocTermOrds.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestDocTermOrds.java
@@ -123,18 +123,18 @@ public class TestDocTermOrds extends SolrTestCase {
     assertEquals(0, iter.nextOrd());
     assertEquals(1, iter.nextOrd());
     assertEquals(2, iter.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, iter.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, iter.nextOrd());
 
     assertEquals(1, iter.nextDoc());
     assertEquals(3, iter.nextOrd());
     assertEquals(4, iter.nextOrd());
     assertEquals(5, iter.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, iter.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, iter.nextOrd());
 
     assertEquals(2, iter.nextDoc());
     assertEquals(0, iter.nextOrd());
     assertEquals(5, iter.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, iter.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, iter.nextOrd());
 
     r.close();
     dir.close();
@@ -439,7 +439,7 @@ public class TestDocTermOrds extends SolrTestCase {
       final int[] answers = idToOrds[(int) docIDToID.longValue()];
       int upto = 0;
       long ord;
-      while ((ord = iter.nextOrd()) != SortedSetDocValues.NO_MORE_ORDS) {
+      while ((ord = iter.nextOrd()) != SortedSetDocValues.NO_MORE_DOCS) {
         te.seekExact(ord);
         final BytesRef expected = termsArray[answers[upto++]];
         if (VERBOSE) {
@@ -517,12 +517,12 @@ public class TestDocTermOrds extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(0, v.nextOrd());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals(-3, LegacyNumericUtils.prefixCodedToInt(value));
@@ -559,12 +559,12 @@ public class TestDocTermOrds extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(0, v.nextOrd());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals(-3, LegacyNumericUtils.prefixCodedToLong(value));
@@ -694,15 +694,15 @@ public class TestDocTermOrds extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(0, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(3, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals("bar", value.utf8ToString());
diff --git a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
index efbfa28b268..de97436c38e 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCache.java
@@ -281,12 +281,12 @@ public class TestFieldCache extends SolrTestCase {
           assertEquals(i, termOrds.nextDoc());
         }
         long ord = termOrds.nextOrd();
-        assertNotEquals(ord, SortedSetDocValues.NO_MORE_ORDS);
+        assertNotEquals(ord, SortedSetDocValues.NO_MORE_DOCS);
         BytesRef scratch = termOrds.lookupOrd(ord);
         assertEquals(v, scratch);
       }
       if (i == termOrds.docID()) {
-        assertEquals(SortedSetDocValues.NO_MORE_ORDS, termOrds.nextOrd());
+        assertEquals(SortedSetDocValues.NO_MORE_DOCS, termOrds.nextOrd());
       }
     }
 
@@ -501,7 +501,7 @@ public class TestFieldCache extends SolrTestCase {
     SortedSetDocValues sortedSet = FieldCache.DEFAULT.getDocTermOrds(ar, 
"sorted", null);
     assertEquals(0, sortedSet.nextDoc());
     assertEquals(0, sortedSet.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, sortedSet.nextOrd());
     assertEquals(1, sortedSet.getValueCount());
 
     bits = FieldCache.DEFAULT.getDocsWithField(ar, "sorted", null);
@@ -569,7 +569,7 @@ public class TestFieldCache extends SolrTestCase {
     assertEquals(0, sortedSet.nextDoc());
     assertEquals(0, sortedSet.nextOrd());
     assertEquals(1, sortedSet.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, sortedSet.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, sortedSet.nextOrd());
     assertEquals(2, sortedSet.getValueCount());
 
     bits = FieldCache.DEFAULT.getDocsWithField(ar, "sortedset", null);
diff --git 
a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSort.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSort.java
index b8347c33b0d..acfe754fa1d 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSort.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSort.java
@@ -88,10 +88,10 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", sortType));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // 'bar' comes before 'foo'
-    assertEquals("bar", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("foo", searcher.doc(td.scoreDocs[1].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
 
     TestUtil.checkReader(ir);
     ir.close();
@@ -127,11 +127,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", sortType));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null comes first
-    assertNull(searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("bar", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("foo", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -164,10 +164,10 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", sortType, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // 'foo' comes after 'bar' in reverse order
-    assertEquals("foo", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("bar", searcher.doc(td.scoreDocs[1].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -203,11 +203,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sf);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null comes first
-    assertNull(searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("bar", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("foo", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -243,11 +243,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sf);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
-    assertEquals("foo", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("bar", searcher.doc(td.scoreDocs[1].doc).get("value"));
+    assertEquals(3, td.totalHits.value());
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
     // null comes last
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -284,11 +284,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sf);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
-    assertEquals("bar", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("foo", searcher.doc(td.scoreDocs[1].doc).get("value"));
+    assertEquals(3, td.totalHits.value());
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
     // null comes last
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -325,11 +325,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sf);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null comes first
-    assertNull(searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("foo", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("bar", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -352,7 +352,7 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(SortField.FIELD_DOC);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // docid 0, then docid 1
     assertEquals(0, td.scoreDocs[0].doc);
     assertEquals(1, td.scoreDocs[1].doc);
@@ -378,7 +378,7 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField(null, SortField.Type.DOC, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // docid 1, then docid 0
     assertEquals(1, td.scoreDocs[0].doc);
     assertEquals(0, td.scoreDocs[1].doc);
@@ -404,11 +404,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort();
 
     TopDocs actual = searcher.search(new TermQuery(new Term("value", "foo")), 
10, sort);
-    assertEquals(2, actual.totalHits.value);
+    assertEquals(2, actual.totalHits.value());
 
     TopDocs expected = searcher.search(new TermQuery(new Term("value", 
"foo")), 10);
     // the two topdocs should be the same
-    assertEquals(expected.totalHits.value, actual.totalHits.value);
+    assertEquals(expected.totalHits.value(), actual.totalHits.value());
     for (int i = 0; i < actual.scoreDocs.length; i++) {
       assertEquals(actual.scoreDocs[i].doc, expected.scoreDocs[i].doc);
     }
@@ -436,11 +436,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField(null, SortField.Type.SCORE, true));
 
     TopDocs actual = searcher.search(new TermQuery(new Term("value", "foo")), 
10, sort);
-    assertEquals(2, actual.totalHits.value);
+    assertEquals(2, actual.totalHits.value());
 
     TopDocs expected = searcher.search(new TermQuery(new Term("value", 
"foo")), 10);
     // the two topdocs should be the reverse of each other
-    assertEquals(expected.totalHits.value, actual.totalHits.value);
+    assertEquals(expected.totalHits.value(), actual.totalHits.value());
     assertEquals(actual.scoreDocs[0].doc, expected.scoreDocs[1].doc);
     assertEquals(actual.scoreDocs[1].doc, expected.scoreDocs[0].doc);
     TestUtil.checkReader(ir);
@@ -473,11 +473,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.INT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // numeric order
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("300000", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("300000", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -506,11 +506,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.INT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as a 0
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -543,11 +543,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as an Integer.MAX_VALUE
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -578,11 +578,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.INT, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // reverse numeric order
-    assertEquals("300000", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("300000", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -610,11 +610,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.INT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // numeric order
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("300000", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("300000", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -641,11 +641,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.INT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as a 0
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -677,11 +677,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as an Integer.MAX_VALUE
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -709,11 +709,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.INT, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // reverse numeric order
-    assertEquals("300000", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("300000", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -744,11 +744,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.LONG));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // numeric order
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("3000000000", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("3000000000", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -777,11 +777,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.LONG));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as 0
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -814,11 +814,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as Long.MAX_VALUE
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -849,11 +849,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.LONG, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // reverse numeric order
-    assertEquals("3000000000", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("3000000000", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -881,11 +881,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.LONG));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // numeric order
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("3000000000", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("3000000000", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -912,11 +912,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.LONG));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as 0
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -948,11 +948,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as Long.MAX_VALUE
-    assertEquals("-1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -980,11 +980,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.LONG, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // reverse numeric order
-    assertEquals("3000000000", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("-1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("3000000000", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("-1", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1015,11 +1015,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // numeric order
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("30.1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1048,11 +1048,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as 0
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1085,11 +1085,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as Float.MAX_VALUE
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1120,11 +1120,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // reverse numeric order
-    assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1152,11 +1152,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // numeric order
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("30.1", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1183,11 +1183,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as 0
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1219,11 +1219,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // null is treated as Float.MAX_VALUE
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1251,11 +1251,11 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.FLOAT, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(3, td.totalHits.value);
+    assertEquals(3, td.totalHits.value());
     // reverse numeric order
-    assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2", searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[2].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1290,12 +1290,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // numeric order
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertEquals("30.1", searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1323,10 +1323,10 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // numeric order
-    double v0 = 
searcher.doc(td.scoreDocs[0].doc).getField("value").numericValue().doubleValue();
-    double v1 = 
searcher.doc(td.scoreDocs[1].doc).getField("value").numericValue().doubleValue();
+    double v0 = 
searcher.storedFields().document(td.scoreDocs[0].doc).getField("value").numericValue().doubleValue();
+    double v1 = 
searcher.storedFields().document(td.scoreDocs[1].doc).getField("value").numericValue().doubleValue();
     assertEquals(0, v0, 0d);
     assertEquals(0, v1, 0d);
     // check sign bits
@@ -1364,12 +1364,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // null treated as a 0
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1407,12 +1407,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // null treated as Double.MAX_VALUE
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1447,12 +1447,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // numeric order
-    assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1483,12 +1483,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // numeric order
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertEquals("30.1", searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1514,10 +1514,10 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // numeric order
-    double v0 = 
searcher.doc(td.scoreDocs[0].doc).getField("value").numericValue().doubleValue();
-    double v1 = 
searcher.doc(td.scoreDocs[1].doc).getField("value").numericValue().doubleValue();
+    double v0 = 
searcher.storedFields().document(td.scoreDocs[0].doc).getField("value").numericValue().doubleValue();
+    double v1 = 
searcher.storedFields().document(td.scoreDocs[1].doc).getField("value").numericValue().doubleValue();
     assertEquals(0, v0, 0d);
     assertEquals(0, v1, 0d);
     // check sign bits
@@ -1552,12 +1552,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // null treated as a 0
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1592,12 +1592,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(sortField);
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // null treated as Double.MAX_VALUE
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertNull(searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    
assertNull(searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1628,12 +1628,12 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.DOUBLE, true));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(4, td.totalHits.value);
+    assertEquals(4, td.totalHits.value());
     // numeric order
-    assertEquals("30.1", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("4.2333333333333", 
searcher.doc(td.scoreDocs[1].doc).get("value"));
-    assertEquals("4.2333333333332", 
searcher.doc(td.scoreDocs[2].doc).get("value"));
-    assertEquals("-1.3", searcher.doc(td.scoreDocs[3].doc).get("value"));
+    assertEquals("30.1", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("4.2333333333333", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
+    assertEquals("4.2333333333332", 
searcher.storedFields().document(td.scoreDocs[2].doc).get("value"));
+    assertEquals("-1.3", 
searcher.storedFields().document(td.scoreDocs[3].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1664,7 +1664,7 @@ public class TestFieldCacheSort extends SolrTestCase {
             new TermQuery(new Term("t", "1")),
             10,
             new Sort(new SortField("f", SortField.Type.STRING)));
-    assertEquals(2, hits.totalHits.value);
+    assertEquals(2, hits.totalHits.value());
     // null sorts first
     assertEquals(1, hits.scoreDocs[0].doc);
     assertEquals(0, hits.scoreDocs[1].doc);
@@ -1741,31 +1741,31 @@ public class TestFieldCacheSort extends SolrTestCase {
 
     Sort sort = new Sort();
     TopDocs td = empty.search(query, 10, sort, true);
-    assertEquals(0, td.totalHits.value);
+    assertEquals(0, td.totalHits.value());
 
     sort = new Sort(SortField.FIELD_DOC);
     td = empty.search(query, 10, sort, true);
-    assertEquals(0, td.totalHits.value);
+    assertEquals(0, td.totalHits.value());
 
     sort = new Sort(new SortField("int", SortField.Type.INT), 
SortField.FIELD_DOC);
     td = empty.search(query, 10, sort, true);
-    assertEquals(0, td.totalHits.value);
+    assertEquals(0, td.totalHits.value());
 
     sort = new Sort(new SortField("string", SortField.Type.STRING, true), 
SortField.FIELD_DOC);
     td = empty.search(query, 10, sort, true);
-    assertEquals(0, td.totalHits.value);
+    assertEquals(0, td.totalHits.value());
 
     sort =
         new Sort(new SortField("string_val", SortField.Type.STRING_VAL, true), 
SortField.FIELD_DOC);
     td = empty.search(query, 10, sort, true);
-    assertEquals(0, td.totalHits.value);
+    assertEquals(0, td.totalHits.value());
 
     sort =
         new Sort(
             new SortField("float", SortField.Type.FLOAT),
             new SortField("string", SortField.Type.STRING));
     td = empty.search(query, 10, sort, true);
-    assertEquals(0, td.totalHits.value);
+    assertEquals(0, td.totalHits.value());
   }
 
   /** Tests sorting a single document */
@@ -1783,8 +1783,8 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.STRING));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(1, td.totalHits.value);
-    assertEquals("foo", searcher.doc(td.scoreDocs[0].doc).get("value"));
+    assertEquals(1, td.totalHits.value());
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1805,10 +1805,10 @@ public class TestFieldCacheSort extends SolrTestCase {
     Sort sort = new Sort(new SortField("value", SortField.Type.STRING));
 
     TopDocs expected = searcher.search(new TermQuery(new Term("value", 
"foo")), 10);
-    assertEquals(1, expected.totalHits.value);
+    assertEquals(1, expected.totalHits.value());
     TopDocs actual = searcher.search(new TermQuery(new Term("value", "foo")), 
10, sort, true);
 
-    assertEquals(expected.totalHits.value, actual.totalHits.value);
+    assertEquals(expected.totalHits.value(), actual.totalHits.value());
     assertEquals(expected.scoreDocs[0].score, actual.scoreDocs[0].score, 0F);
     TestUtil.checkReader(ir);
     ir.close();
@@ -1842,10 +1842,10 @@ public class TestFieldCacheSort extends SolrTestCase {
             new SortField("value", SortField.Type.STRING));
 
     TopDocs td = searcher.search(new MatchAllDocsQuery(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     // 'bar' comes before 'foo'
-    assertEquals("bar", searcher.doc(td.scoreDocs[0].doc).get("value"));
-    assertEquals("foo", searcher.doc(td.scoreDocs[1].doc).get("value"));
+    assertEquals("bar", 
searcher.storedFields().document(td.scoreDocs[0].doc).get("value"));
+    assertEquals("foo", 
searcher.storedFields().document(td.scoreDocs[1].doc).get("value"));
     TestUtil.checkReader(ir);
     ir.close();
     dir.close();
@@ -1870,7 +1870,7 @@ public class TestFieldCacheSort extends SolrTestCase {
     bq.add(new TermQuery(new Term("value", "foo")), Occur.SHOULD);
     bq.add(new MatchAllDocsQuery(), Occur.SHOULD);
     TopDocs td = searcher.search(bq.build(), 10, sort);
-    assertEquals(2, td.totalHits.value);
+    assertEquals(2, td.totalHits.value());
     if (Float.isNaN(td.scoreDocs[0].score) == false
         && Float.isNaN(td.scoreDocs[1].score) == false) {
       assertEquals(1, td.scoreDocs[0].doc);
diff --git 
a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java
index 410e3a4ee55..fc9fff607a8 100644
--- 
a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java
+++ 
b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java
@@ -37,19 +37,7 @@ import org.apache.lucene.index.DocValues;
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.NumericDocValues;
-import org.apache.lucene.search.ConstantScoreQuery;
-import org.apache.lucene.search.ConstantScoreScorer;
-import org.apache.lucene.search.ConstantScoreWeight;
-import org.apache.lucene.search.FieldDoc;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryVisitor;
-import org.apache.lucene.search.ScoreMode;
-import org.apache.lucene.search.Scorer;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.TopFieldDocs;
-import org.apache.lucene.search.Weight;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.index.RandomIndexWriter;
 import org.apache.lucene.tests.util.TestUtil;
@@ -251,7 +239,7 @@ public class TestFieldCacheSortRandom extends SolrTestCase {
                   + ": "
                   + (br == null ? "<missing>" : br.utf8ToString())
                   + " id="
-                  + s.doc(fd.doc).get("id"));
+                  + s.storedFields().document(fd.doc).get("id"));
         }
       }
       for (int hitIDX = 0; hitIDX < hits.scoreDocs.length; hitIDX++) {
@@ -298,7 +286,7 @@ public class TestFieldCacheSortRandom extends SolrTestCase {
     public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, 
float boost) {
       return new ConstantScoreWeight(this, boost) {
         @Override
-        public Scorer scorer(LeafReaderContext context) throws IOException {
+        public ScorerSupplier scorerSupplier(LeafReaderContext context) throws 
IOException {
           Random random = new Random(seed ^ context.docBase);
           final int maxDoc = context.reader().maxDoc();
           final NumericDocValues idSource = 
DocValues.getNumeric(context.reader(), "id");
@@ -313,8 +301,8 @@ public class TestFieldCacheSortRandom extends SolrTestCase {
             }
           }
 
-          return new ConstantScoreScorer(
-              this, score(), scoreMode, new BitSetIterator(bits, 
bits.approximateCardinality()));
+          return new DefaultScorerSupplier(new ConstantScoreScorer(
+              score(), scoreMode, new BitSetIterator(bits, 
bits.approximateCardinality())));
         }
 
         @Override
diff --git 
a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java
index f4954ceab71..6aee7d9f221 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms32.java
@@ -20,12 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.tests.index.RandomIndexWriter;
@@ -135,15 +130,15 @@ public class TestNumericTerms32 extends SolrTestCase {
         upper = a;
       }
       Query tq =
-          LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true);
+          LegacyNumericRangeQuery.newIntRange(field, precisionStep, lower, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
       TopDocs topDocs =
           searcher.search(tq, noDocs, new Sort(new SortField(field, 
SortField.Type.INT, true)));
-      if (topDocs.totalHits.value == 0) continue;
+      if (topDocs.totalHits.value() == 0) continue;
       ScoreDoc[] sd = topDocs.scoreDocs;
       assertNotNull(sd);
-      int last = 
searcher.doc(sd[0].doc).getField(field).numericValue().intValue();
+      int last = 
searcher.storedFields().document(sd[0].doc).getField(field).numericValue().intValue();
       for (int j = 1; j < sd.length; j++) {
-        int act = 
searcher.doc(sd[j].doc).getField(field).numericValue().intValue();
+        int act = 
searcher.storedFields().document(sd[j].doc).getField(field).numericValue().intValue();
         assertTrue("Docs should be sorted backwards", last > act);
         last = act;
       }
diff --git 
a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java
index 95335a1d805..3c151445e18 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestNumericTerms64.java
@@ -20,12 +20,7 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.search.IndexSearcher;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.lucene.search.Sort;
-import org.apache.lucene.search.SortField;
-import org.apache.lucene.search.TopDocs;
+import org.apache.lucene.search.*;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.tests.analysis.MockAnalyzer;
 import org.apache.lucene.tests.index.RandomIndexWriter;
@@ -141,15 +136,15 @@ public class TestNumericTerms64 extends SolrTestCase {
         upper = a;
       }
       Query tq =
-          LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, true);
+          LegacyNumericRangeQuery.newLongRange(field, precisionStep, lower, 
upper, true, true, MultiTermQuery.CONSTANT_SCORE_REWRITE);
       TopDocs topDocs =
           searcher.search(tq, noDocs, new Sort(new SortField(field, 
SortField.Type.LONG, true)));
-      if (topDocs.totalHits.value == 0) continue;
+      if (topDocs.totalHits.value() == 0) continue;
       ScoreDoc[] sd = topDocs.scoreDocs;
       assertNotNull(sd);
-      long last = 
searcher.doc(sd[0].doc).getField(field).numericValue().longValue();
+      long last = 
searcher.storedFields().document(sd[0].doc).getField(field).numericValue().longValue();
       for (int j = 1; j < sd.length; j++) {
-        long act = 
searcher.doc(sd[j].doc).getField(field).numericValue().longValue();
+        long act = 
searcher.storedFields().document(sd[j].doc).getField(field).numericValue().longValue();
         assertTrue("Docs should be sorted backwards", last > act);
         last = act;
       }
diff --git 
a/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java 
b/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java
index bd02e8018b2..85290734443 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestUninvertingReader.java
@@ -86,12 +86,12 @@ public class TestUninvertingReader extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(0, v.nextOrd());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals(-3, LegacyNumericUtils.prefixCodedToInt(value));
@@ -129,12 +129,12 @@ public class TestUninvertingReader extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(0, v.nextOrd());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals(Float.floatToRawIntBits(-3f), 
LegacyNumericUtils.prefixCodedToInt(value));
@@ -171,12 +171,12 @@ public class TestUninvertingReader extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(0, v.nextOrd());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals(-3, LegacyNumericUtils.prefixCodedToLong(value));
@@ -213,12 +213,12 @@ public class TestUninvertingReader extends SolrTestCase {
 
     assertEquals(0, v.nextDoc());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     assertEquals(1, v.nextDoc());
     assertEquals(0, v.nextOrd());
     assertEquals(1, v.nextOrd());
-    assertEquals(SortedSetDocValues.NO_MORE_ORDS, v.nextOrd());
+    assertEquals(SortedSetDocValues.NO_MORE_DOCS, v.nextOrd());
 
     BytesRef value = v.lookupOrd(0);
     assertEquals(Double.doubleToRawLongBits(-3d), 
LegacyNumericUtils.prefixCodedToLong(value));

Reply via email to