You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ab...@apache.org on 2017/11/17 08:33:28 UTC
[07/40] lucene-solr:jira/solr-11285-sim: LUCENE-8042: Add
SegmentCachable interface
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java b/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
index 5f38226..db5e695 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/function/ValueSource.java
@@ -158,6 +158,11 @@ public abstract class ValueSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
+ }
+
+ @Override
public boolean needsScores() {
return false;
}
@@ -229,6 +234,11 @@ public abstract class ValueSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
+ }
+
+ @Override
public Explanation explain(LeafReaderContext ctx, int docId, Explanation scoreExplanation) throws IOException {
Map context = new HashMap<>();
FakeScorer scorer = new FakeScorer();
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
index 027c462..88ac4fc 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/PayloadScoreQuery.java
@@ -155,8 +155,8 @@ public class PayloadScoreQuery extends SpanQuery {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return innerWeight.getCacheHelper(context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return innerWeight.isCacheable(ctx);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java b/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
index 6175add..fadfad5 100644
--- a/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
+++ b/lucene/queries/src/java/org/apache/lucene/queries/payloads/SpanPayloadCheckQuery.java
@@ -131,9 +131,10 @@ public class SpanPayloadCheckQuery extends SpanQuery {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return matchWeight.getCacheHelper(context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return matchWeight.isCacheable(ctx);
}
+
}
private class PayloadChecker implements SpanCollector {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
----------------------------------------------------------------------
diff --git a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
index 431d5f8..937fe44 100644
--- a/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
+++ b/lucene/queries/src/test/org/apache/lucene/queries/function/TestFunctionScoreQuery.java
@@ -140,6 +140,11 @@ public class TestFunctionScoreQuery extends FunctionTestSetup {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return in.isCacheable(ctx);
+ }
+
+ @Override
public int hashCode() {
return 0;
}
@@ -180,6 +185,11 @@ public class TestFunctionScoreQuery extends FunctionTestSetup {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return in.isCacheable(ctx);
+ }
+
+ @Override
public int hashCode() {
return 0;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesBoxQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesBoxQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesBoxQuery.java
index 1bcea53..6411fcc 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesBoxQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesBoxQuery.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import org.apache.lucene.geo.GeoEncodingUtils;
import org.apache.lucene.geo.GeoUtils;
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.SortedNumericDocValues;
import org.apache.lucene.search.ConstantScoreScorer;
@@ -142,9 +142,10 @@ final class LatLonDocValuesBoxQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return getDocValuesCacheHelper(field, context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, field);
}
+
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesDistanceQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesDistanceQuery.java
index 8a2d73c..d52cd31 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesDistanceQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonDocValuesDistanceQuery.java
@@ -20,7 +20,7 @@ import java.io.IOException;
import org.apache.lucene.geo.GeoEncodingUtils;
import org.apache.lucene.geo.GeoUtils;
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.SortedNumericDocValues;
import org.apache.lucene.search.ConstantScoreScorer;
@@ -129,9 +129,10 @@ final class LatLonDocValuesDistanceQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return getDocValuesCacheHelper(field, context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, field);
}
+
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
index dd3be27..90e63c6 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointDistanceQuery.java
@@ -22,7 +22,6 @@ import org.apache.lucene.geo.GeoEncodingUtils;
import org.apache.lucene.geo.GeoUtils;
import org.apache.lucene.geo.Rectangle;
import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.PointValues;
@@ -119,8 +118,8 @@ final class LatLonPointDistanceQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
index 32a3f78..3fdc80b 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/document/LatLonPointInPolygonQuery.java
@@ -19,8 +19,14 @@ package org.apache.lucene.document;
import java.io.IOException;
import java.util.Arrays;
+import org.apache.lucene.geo.GeoEncodingUtils;
+import org.apache.lucene.geo.Polygon;
+import org.apache.lucene.geo.Polygon2D;
import org.apache.lucene.geo.Rectangle;
-import org.apache.lucene.index.IndexReader;
+import org.apache.lucene.index.FieldInfo;
+import org.apache.lucene.index.LeafReader;
+import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PointValues;
import org.apache.lucene.index.PointValues.IntersectVisitor;
import org.apache.lucene.index.PointValues.Relation;
import org.apache.lucene.search.ConstantScoreScorer;
@@ -29,16 +35,9 @@ import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.Weight;
-import org.apache.lucene.index.PointValues;
-import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.LeafReader;
-import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.util.DocIdSetBuilder;
import org.apache.lucene.util.NumericUtils;
import org.apache.lucene.util.StringHelper;
-import org.apache.lucene.geo.GeoEncodingUtils;
-import org.apache.lucene.geo.Polygon;
-import org.apache.lucene.geo.Polygon2D;
import static org.apache.lucene.geo.GeoEncodingUtils.decodeLatitude;
import static org.apache.lucene.geo.GeoEncodingUtils.decodeLongitude;
@@ -162,8 +161,8 @@ final class LatLonPointInPolygonQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/search/CoveringQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/CoveringQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/CoveringQuery.java
index 4a9918b..2890edd 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/CoveringQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/CoveringQuery.java
@@ -177,9 +177,10 @@ public final class CoveringQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null; // TODO delegate to LongValuesSource?
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return minimumNumberMatch.isCacheable(ctx);
}
+
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
index de3b2ad..8cf252c 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesNumbersQuery.java
@@ -26,7 +26,6 @@ import java.util.Set;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.SortedNumericDocValuesField;
import org.apache.lucene.index.DocValues;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.SortedNumericDocValues;
@@ -124,9 +123,10 @@ public class DocValuesNumbersQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return getDocValuesCacheHelper(field, context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
+
};
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
index 7f0d3e1..bf7a0b7 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/DocValuesTermsQuery.java
@@ -205,9 +205,10 @@ public class DocValuesTermsQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return getDocValuesCacheHelper(field, context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, field);
}
+
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java b/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
index 346d519..e2ca5b6 100644
--- a/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
+++ b/lucene/sandbox/src/java/org/apache/lucene/search/TermAutomatonQuery.java
@@ -404,8 +404,8 @@ public class TermAutomatonQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
----------------------------------------------------------------------
diff --git a/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java b/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
index 18661bf..ae18245 100644
--- a/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
+++ b/lucene/sandbox/src/test/org/apache/lucene/search/TestTermAutomatonQuery.java
@@ -652,8 +652,8 @@ public class TestTermAutomatonQuery extends LuceneTestCase {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null;
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/ShapeValuesSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/ShapeValuesSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/ShapeValuesSource.java
index b96edd8..49d52fc 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/ShapeValuesSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/ShapeValuesSource.java
@@ -20,11 +20,12 @@ package org.apache.lucene.spatial;
import java.io.IOException;
import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.search.SegmentCacheable;
/**
* Produces {@link ShapeValues} per-segment
*/
-public abstract class ShapeValuesSource {
+public abstract class ShapeValuesSource implements SegmentCacheable {
/**
* Get a {@link ShapeValues} instance for the given leaf reader context
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
index aed9f6c..0d9d311 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxSimilarityValueSource.java
@@ -111,6 +111,11 @@ public abstract class BBoxSimilarityValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return bboxValueSource.isCacheable(ctx);
+ }
+
+ @Override
public boolean needsScores() {
return false;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
index 6f7fc9f..1a2525e 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/bbox/BBoxValueSource.java
@@ -77,6 +77,12 @@ class BBoxValueSource extends ShapeValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx,
+ strategy.field_minX, strategy.field_minY, strategy.field_maxX, strategy.field_maxY);
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
index 6c1fa21..ed64b4d 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/CompositeVerifyQuery.java
@@ -98,9 +98,10 @@ public class CompositeVerifyQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null; // TODO delegate to PredicateValueSource?
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return predicateValueSource.isCacheable(ctx);
}
+
};
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
index d13d603..36f5372 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/composite/IntersectsRPTVerifyQuery.java
@@ -18,7 +18,6 @@ package org.apache.lucene.spatial.composite;
import java.io.IOException;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.search.ConstantScoreScorer;
import org.apache.lucene.search.ConstantScoreWeight;
@@ -136,9 +135,10 @@ public class IntersectsRPTVerifyQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null; // TODO delegate to PredicateValueSource?
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return predicateValueSource.isCacheable(ctx);
}
+
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
index a496160..86c311a 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/prefix/AbstractPrefixTreeQuery.java
@@ -18,7 +18,6 @@ package org.apache.lucene.spatial.prefix;
import java.io.IOException;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.PostingsEnum;
@@ -93,8 +92,8 @@ public abstract class AbstractPrefixTreeQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
index 4795a56..c58878b 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/serialized/SerializedDVStrategy.java
@@ -27,7 +27,6 @@ import org.apache.lucene.document.BinaryDocValuesField;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.BinaryDocValues;
import org.apache.lucene.index.DocValues;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.search.ConstantScoreScorer;
import org.apache.lucene.search.ConstantScoreWeight;
@@ -144,9 +143,10 @@ public class SerializedDVStrategy extends SpatialStrategy {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null; // TODO delegate to PredicateValueSource
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return predicateValueSource.isCacheable(ctx);
}
+
};
}
@@ -205,6 +205,11 @@ public class SerializedDVStrategy extends SpatialStrategy {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, fieldName);
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
index 8d2f6f9..f710536 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/CachingDoubleValueSource.java
@@ -79,6 +79,11 @@ public class CachingDoubleValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return source.isCacheable(ctx);
+ }
+
+ @Override
public Explanation explain(LeafReaderContext ctx, int docId, Explanation scoreExplanation) throws IOException {
return source.explain(ctx, docId, scoreExplanation);
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
index a926d7e..723a3cb 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/DistanceToShapeValueSource.java
@@ -81,6 +81,11 @@ public class DistanceToShapeValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return shapeValueSource.isCacheable(ctx);
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ReciprocalDoubleValuesSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ReciprocalDoubleValuesSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ReciprocalDoubleValuesSource.java
index f0e2c45..b2bee26 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ReciprocalDoubleValuesSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ReciprocalDoubleValuesSource.java
@@ -69,6 +69,11 @@ public class ReciprocalDoubleValuesSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return input.isCacheable(ctx);
+ }
+
+ @Override
public Explanation explain(LeafReaderContext ctx, int docId, Explanation scoreExplanation) throws IOException {
Explanation expl = input.explain(ctx, docId, scoreExplanation);
return Explanation.match((float)recip(expl.getValue()),
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
index 6767991..d51c35c 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeAreaValueSource.java
@@ -73,6 +73,11 @@ public class ShapeAreaValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return shapeValueSource.isCacheable(ctx);
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
index 2d7ff4a..3a39981 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeFieldCacheDistanceValueSource.java
@@ -90,6 +90,11 @@ public class ShapeFieldCacheDistanceValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeValuesPredicate.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeValuesPredicate.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeValuesPredicate.java
index e859d62..035c74e 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeValuesPredicate.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/util/ShapeValuesPredicate.java
@@ -20,6 +20,7 @@ import java.io.IOException;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.search.DocIdSetIterator;
+import org.apache.lucene.search.SegmentCacheable;
import org.apache.lucene.search.TwoPhaseIterator;
import org.apache.lucene.spatial.ShapeValues;
import org.apache.lucene.spatial.ShapeValuesSource;
@@ -37,7 +38,7 @@ import org.locationtech.spatial4j.shape.Shape;
*
* @lucene.experimental
*/
-public class ShapeValuesPredicate {
+public class ShapeValuesPredicate implements SegmentCacheable {
private final ShapeValuesSource shapeValuesource;//the left hand side
private final SpatialOperation op;
private final Shape queryShape;//the right hand side (constant)
@@ -96,4 +97,9 @@ public class ShapeValuesPredicate {
result = 31 * result + queryShape.hashCode();
return result;
}
+
+ @Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return shapeValuesource.isCacheable(ctx);
+ }
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
index fc34000..66b1432 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/DistanceValueSource.java
@@ -93,6 +93,11 @@ public class DistanceValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, strategy.getFieldNameX(), strategy.getFieldNameY());
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
----------------------------------------------------------------------
diff --git a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
index a89694b..0dd3c09 100644
--- a/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
+++ b/lucene/spatial-extras/src/java/org/apache/lucene/spatial/vector/PointVectorStrategy.java
@@ -290,9 +290,10 @@ public class PointVectorStrategy extends SpatialStrategy {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null; // TODO delegate to DoubleValuesSource?
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return distanceSource.isCacheable(ctx);
}
+
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/PointInGeo3DShapeQuery.java
----------------------------------------------------------------------
diff --git a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/PointInGeo3DShapeQuery.java b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/PointInGeo3DShapeQuery.java
index 534458a..52381e1 100644
--- a/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/PointInGeo3DShapeQuery.java
+++ b/lucene/spatial3d/src/java/org/apache/lucene/spatial3d/PointInGeo3DShapeQuery.java
@@ -18,20 +18,19 @@ package org.apache.lucene.spatial3d;
import java.io.IOException;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.spatial3d.geom.BasePlanetObject;
-import org.apache.lucene.spatial3d.geom.GeoShape;
-import org.apache.lucene.spatial3d.geom.PlanetModel;
-import org.apache.lucene.spatial3d.geom.XYZBounds;
-import org.apache.lucene.index.PointValues;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
+import org.apache.lucene.index.PointValues;
import org.apache.lucene.search.ConstantScoreScorer;
import org.apache.lucene.search.ConstantScoreWeight;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.Scorer;
import org.apache.lucene.search.Weight;
+import org.apache.lucene.spatial3d.geom.BasePlanetObject;
+import org.apache.lucene.spatial3d.geom.GeoShape;
+import org.apache.lucene.spatial3d.geom.PlanetModel;
+import org.apache.lucene.spatial3d.geom.XYZBounds;
import org.apache.lucene.util.DocIdSetBuilder;
/** Finds all previously indexed points that fall within the specified polygon.
@@ -106,9 +105,10 @@ final class PointInGeo3DShapeQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
+
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
index 7896503..35ab424 100644
--- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
+++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/document/CompletionWeight.java
@@ -19,7 +19,6 @@ package org.apache.lucene.search.suggest.document;
import java.io.IOException;
import java.util.Set;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
@@ -134,8 +133,8 @@ public class CompletionWeight extends Weight {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
----------------------------------------------------------------------
diff --git a/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java b/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
index fb91e20..4351681 100644
--- a/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
+++ b/lucene/suggest/src/test/org/apache/lucene/search/suggest/DocumentValueSourceDictionaryTest.java
@@ -168,6 +168,11 @@ public class DocumentValueSourceDictionaryTest extends LuceneTestCase {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
+ }
+
+ @Override
public boolean needsScores() {
return false;
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
index be79d60..a9956b3 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/search/spans/AssertingSpanWeight.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.util.Map;
import java.util.Set;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.TermContext;
@@ -74,8 +73,8 @@ public class AssertingSpanWeight extends SpanWeight {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return in.getCacheHelper(context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return in.isCacheable(ctx);
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/contrib/ltr/src/java/org/apache/solr/ltr/LTRScoringQuery.java
----------------------------------------------------------------------
diff --git a/solr/contrib/ltr/src/java/org/apache/solr/ltr/LTRScoringQuery.java b/solr/contrib/ltr/src/java/org/apache/solr/ltr/LTRScoringQuery.java
index b1a3233..00401786 100644
--- a/solr/contrib/ltr/src/java/org/apache/solr/ltr/LTRScoringQuery.java
+++ b/solr/contrib/ltr/src/java/org/apache/solr/ltr/LTRScoringQuery.java
@@ -31,7 +31,6 @@ import java.util.concurrent.FutureTask;
import java.util.concurrent.RunnableFuture;
import java.util.concurrent.Semaphore;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.DisiPriorityQueue;
@@ -481,8 +480,8 @@ public class LTRScoringQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null;
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
public class ModelScorer extends Scorer {
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
----------------------------------------------------------------------
diff --git a/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java b/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
index 36a8ef5..f2396e1 100644
--- a/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
+++ b/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
@@ -21,7 +21,6 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.DocIdSetIterator;
@@ -230,8 +229,8 @@ public abstract class Feature extends Query {
throws IOException;
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null;
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java b/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
index 052020b..516f207 100644
--- a/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
+++ b/solr/core/src/java/org/apache/solr/legacy/BBoxValueSource.java
@@ -18,6 +18,7 @@ package org.apache.solr.legacy;
import java.io.IOException;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.search.DoubleValues;
import org.apache.lucene.search.DoubleValuesSource;
@@ -73,6 +74,12 @@ class BBoxValueSource extends ShapeValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx,
+ strategy.field_maxX, strategy.field_maxY, strategy.field_minX, strategy.field_minY);
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/legacy/DistanceValueSource.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/legacy/DistanceValueSource.java b/solr/core/src/java/org/apache/solr/legacy/DistanceValueSource.java
index 90fd698..f6bb718 100644
--- a/solr/core/src/java/org/apache/solr/legacy/DistanceValueSource.java
+++ b/solr/core/src/java/org/apache/solr/legacy/DistanceValueSource.java
@@ -18,6 +18,7 @@ package org.apache.solr.legacy;
import java.io.IOException;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.search.DoubleValues;
import org.apache.lucene.search.DoubleValuesSource;
@@ -88,6 +89,11 @@ public class DistanceValueSource extends DoubleValuesSource {
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, strategy.getFieldNameX(), strategy.getFieldNameY());
+ }
+
+ @Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java b/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java
index a8c0f20..546e9d1 100644
--- a/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java
+++ b/solr/core/src/java/org/apache/solr/query/SolrRangeQuery.java
@@ -488,9 +488,10 @@ public final class SolrRangeQuery extends ExtendedQueryBase implements DocSetPro
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
+
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java b/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
index 773e8a7..e8620be 100644
--- a/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
+++ b/solr/core/src/java/org/apache/solr/schema/LatLonPointSpatialField.java
@@ -23,6 +23,7 @@ import java.util.Objects;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.LatLonDocValuesField;
import org.apache.lucene.document.LatLonPoint;
+import org.apache.lucene.index.DocValues;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.search.DoubleValues;
@@ -248,6 +249,11 @@ public class LatLonPointSpatialField extends AbstractSpatialFieldType implements
}
@Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return DocValues.isCacheable(ctx, fieldName);
+ }
+
+ @Override
public String toString() {
return "distSort(" + fieldName + ", " + queryPoint + ", mult:" + multiplier + ")";
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/schema/LatLonType.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/LatLonType.java b/solr/core/src/java/org/apache/solr/schema/LatLonType.java
index b8f5957..7d64a15 100644
--- a/solr/core/src/java/org/apache/solr/schema/LatLonType.java
+++ b/solr/core/src/java/org/apache/solr/schema/LatLonType.java
@@ -333,8 +333,8 @@ class SpatialDistanceQuery extends ExtendedQueryBase implements PostFilter {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null;
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/schema/RptWithGeometrySpatialField.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/schema/RptWithGeometrySpatialField.java b/solr/core/src/java/org/apache/solr/schema/RptWithGeometrySpatialField.java
index 0e123a4..31ed4bb 100644
--- a/solr/core/src/java/org/apache/solr/schema/RptWithGeometrySpatialField.java
+++ b/solr/core/src/java/org/apache/solr/schema/RptWithGeometrySpatialField.java
@@ -187,6 +187,11 @@ public class RptWithGeometrySpatialField extends AbstractSpatialFieldType<Compos
}
+ @Override
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return targetValueSource.isCacheable(ctx);
+ }
+
}
public static final String CACHE_KEY_PREFIX = "perSegSpatialFieldCache_";//then field name
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/search/Filter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/Filter.java b/solr/core/src/java/org/apache/solr/search/Filter.java
index 555e24e..eb19e1b 100644
--- a/solr/core/src/java/org/apache/solr/search/Filter.java
+++ b/solr/core/src/java/org/apache/solr/search/Filter.java
@@ -19,7 +19,6 @@ package org.apache.solr.search;
import java.io.IOException;
import java.util.Set;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.ConstantScoreScorer;
@@ -137,10 +136,9 @@ public abstract class Filter extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getReaderCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
-
};
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
index 2abc930..5309a35 100644
--- a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
@@ -332,9 +332,10 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
+
};
}
@@ -631,8 +632,8 @@ abstract class PointSetQuery extends Query implements DocSetProducer {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
index e60cfb1..cc6d6b1 100644
--- a/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/JoinQParserPlugin.java
@@ -283,11 +283,10 @@ class JoinQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return null;
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
-
// most of these statistics are only used for the enum method
int fromSetSize; // number of docs in the fromSet (that match the from query)
long resultListDocs; // total number of docs collected
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java b/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
index d8481f7..7759602 100644
--- a/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrConstantScoreQuery.java
@@ -20,7 +20,6 @@ import java.io.IOException;
import java.util.Map;
import java.util.Objects;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.ValueSource;
import org.apache.lucene.search.ConstantScoreScorer;
@@ -106,8 +105,8 @@ public class SolrConstantScoreQuery extends Query implements ExtendedQuery {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return false;
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java b/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
index d56f026..00276aa 100644
--- a/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/join/GraphQuery.java
@@ -23,7 +23,6 @@ import java.util.Objects;
import java.util.Set;
import java.util.TreeSet;
-import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause;
@@ -278,8 +277,8 @@ public class GraphQuery extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
@Override
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java b/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
index 469840b..493235d 100644
--- a/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
+++ b/solr/core/src/java/org/apache/solr/update/DeleteByQueryWrapper.java
@@ -85,8 +85,8 @@ final class DeleteByQueryWrapper extends Query {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return inner.getCacheHelper(context);
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return inner.isCacheable(ctx);
}
};
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/276e317e/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java
----------------------------------------------------------------------
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 97d7baa..321da0a 100644
--- a/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java
+++ b/solr/core/src/test/org/apache/solr/uninverting/TestFieldCacheSortRandom.java
@@ -290,8 +290,8 @@ public class TestFieldCacheSortRandom extends LuceneTestCase {
}
@Override
- public IndexReader.CacheHelper getCacheHelper(LeafReaderContext context) {
- return context.reader().getCoreCacheHelper();
+ public boolean isCacheable(LeafReaderContext ctx) {
+ return true;
}
};
}