diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java index f2c8bbd..c02553a 100644 --- a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer.java @@ -17,11 +17,6 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - import org.apache.lucene.index.AtomicReaderContext; import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.BooleanQuery.BooleanWeight; @@ -29,6 +24,11 @@ import org.apache.lucene.search.positions.ConjunctionPositionIterator; import org.apache.lucene.search.positions.DisjunctionPositionIterator; import org.apache.lucene.search.positions.PositionIntervalIterator; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /* Description from Doug Cutting (excerpted from * LUCENE-1483): * @@ -140,7 +140,7 @@ final class BooleanScorer extends Scorer { public float score() throws IOException { return score; } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { return PositionIntervalIterator.NO_MORE_POSITIONS; } @@ -327,7 +327,7 @@ final class BooleanScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { final List scorers = new ArrayList(); SubScorer sub = this.scorers; while(sub != null) { diff --git a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java index fd0a71a..0598735 100644 --- a/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java +++ b/lucene/core/src/java/org/apache/lucene/search/BooleanScorer2.java @@ -147,8 +147,8 @@ class BooleanScorer2 extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { - return scorer.positions(); + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { + return scorer.positions(needsPayloads, needsOffsets); } } @@ -326,8 +326,8 @@ class BooleanScorer2 extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { - return countingSumScorer.positions(); + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { + return countingSumScorer.positions(needsPayloads, needsOffsets); } @Override diff --git a/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java b/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java index e3cef08..0fe9f60 100644 --- a/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java +++ b/lucene/core/src/java/org/apache/lucene/search/CachingCollector.java @@ -92,7 +92,7 @@ public abstract class CachingCollector extends Collector { public final int nextDoc() { throw new UnsupportedOperationException(); } @Override - public PositionIntervalIterator positions() throws IOException { throw new UnsupportedOperationException(); } + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { throw new UnsupportedOperationException(); } } // A CachingCollector which caches scores diff --git a/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java b/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java index 857b8d1..a29465a 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/ConjunctionScorer.java @@ -144,7 +144,7 @@ class ConjunctionScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { if (scorersOrdered == null) { throw new IllegalStateException("no positions requested for this scorer"); } diff --git a/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java b/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java index ce8145a..dbf1c0e 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/ConjunctionTermScorer.java @@ -17,9 +17,6 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; -import java.util.Comparator; - import org.apache.lucene.index.DocsEnum; import org.apache.lucene.search.TermQuery.TermDocsEnumFactory; import org.apache.lucene.search.TermScorer.TermPositions; @@ -28,6 +25,9 @@ import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.Similarity.ExactSimScorer; import org.apache.lucene.util.ArrayUtil; +import java.io.IOException; +import java.util.Comparator; + /** Scorer for conjunctions, sets of terms, all of which are required. */ class ConjunctionTermScorer extends Scorer { @@ -122,12 +122,11 @@ class ConjunctionTermScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { TermPositions[] positionIters = new TermPositions[origDocsAndFreqs.length]; for (int i = 0; i < positionIters.length; i++) { DocsAndFreqs d = origDocsAndFreqs[i]; - // nocommit - offsets ? payloads ? - positionIters[i] = new TermPositions(this, d.factory.docsAndPositionsEnum(false), false); + positionIters[i] = new TermPositions(this, d.factory.docsAndPositionsEnum(needsOffsets), needsPayloads); } return new ConjunctionPositionIterator(this, positionIters); } diff --git a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java index de996c0..f56159d 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/ConstantScoreQuery.java @@ -256,9 +256,9 @@ public class ConstantScoreQuery extends Query { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { if (docIdSetIterator instanceof Scorer) { - return ((Scorer) docIdSetIterator).positions(); + return ((Scorer) docIdSetIterator).positions(needsPayloads, needsOffsets); } else { throw new UnsupportedOperationException("positions are only supported on Scorer subclasses"); } diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java index bef28b6..0563132 100644 --- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionMaxScorer.java @@ -16,14 +16,14 @@ package org.apache.lucene.search; * limitations under the License. */ +import org.apache.lucene.search.positions.DisjunctionPositionIterator; +import org.apache.lucene.search.positions.PositionIntervalIterator; + import java.io.IOException; import java.util.Arrays; import java.util.Collection; import java.util.Collections; -import org.apache.lucene.search.positions.DisjunctionPositionIterator; -import org.apache.lucene.search.positions.PositionIntervalIterator; - /** * The Scorer for DisjunctionMaxQuery. The union of all documents generated by the the subquery scorers * is generated in document number order. The score for each document is the maximum of the scores computed @@ -190,7 +190,7 @@ class DisjunctionMaxScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { final Scorer[] posScorers = new Scorer[numScorers]; System.arraycopy(subScorers, 0, posScorers, 0, numScorers); return new DisjunctionPositionIterator(this, posScorers); diff --git a/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java index f1363b0..fcd006e 100644 --- a/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/DisjunctionSumScorer.java @@ -243,7 +243,7 @@ class DisjunctionSumScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { if (minimumNrMatchers > 1) { return new ConjunctionPositionIterator(this, subScorers.toArray(new Scorer[0]), minimumNrMatchers); diff --git a/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java b/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java index 42f56f7..3294de1 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/ExactPhraseScorer.java @@ -17,13 +17,13 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; -import java.util.Arrays; - -import org.apache.lucene.index.*; +import org.apache.lucene.index.DocsAndPositionsEnum; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.Similarity; +import java.io.IOException; +import java.util.Arrays; + final class ExactPhraseScorer extends Scorer { private final int endMinus1; @@ -322,7 +322,7 @@ final class ExactPhraseScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit implement this throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java b/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java index 9661e41..c305489 100644 --- a/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java @@ -224,7 +224,7 @@ public class FilteredQuery extends Query { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit what should we do in this case with positions? throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java b/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java index c5e2e66..5dd9fef 100644 --- a/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java +++ b/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java @@ -17,37 +17,23 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; -import java.util.Iterator; -import java.util.NoSuchElementException; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.CompletionService; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.Executor; -import java.util.concurrent.ExecutorCompletionService; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.locks.Lock; -import java.util.concurrent.locks.ReentrantLock; - import org.apache.lucene.document.Document; -import org.apache.lucene.index.AtomicReaderContext; -import org.apache.lucene.index.CorruptIndexException; -import org.apache.lucene.index.DirectoryReader; // javadocs -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.MultiFields; -import org.apache.lucene.index.IndexReaderContext; -import org.apache.lucene.index.StoredFieldVisitor; -import org.apache.lucene.index.Term; -import org.apache.lucene.index.Terms; +import org.apache.lucene.index.*; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.DefaultSimilarity; import org.apache.lucene.search.similarities.Similarity; -import org.apache.lucene.store.NIOFSDirectory; // javadoc +import org.apache.lucene.store.NIOFSDirectory; import org.apache.lucene.util.ReaderUtil; import org.apache.lucene.util.TermContext; import org.apache.lucene.util.ThreadInterruptedException; -import org.apache.lucene.index.IndexWriter; // javadocs + +import java.io.IOException; +import java.util.Iterator; +import java.util.NoSuchElementException; +import java.util.Set; +import java.util.concurrent.*; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; /** Implements search over a single IndexReader. * @@ -773,7 +759,7 @@ public class IndexSearcher { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit is this ok in this case? throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java b/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java index 569f29b..247f412 100644 --- a/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java @@ -75,7 +75,7 @@ public class MatchAllDocsQuery extends Query { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit this is tricky - I think we can't really provide positions here? throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/MatchOnlyTermScorer.java b/lucene/core/src/java/org/apache/lucene/search/MatchOnlyTermScorer.java index 64f2f18..7c28376 100644 --- a/lucene/core/src/java/org/apache/lucene/search/MatchOnlyTermScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/MatchOnlyTermScorer.java @@ -17,12 +17,12 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.index.DocsEnum; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.Similarity; +import java.io.IOException; + /** Expert: A Scorer for documents matching a * Term. It treats all documents as having * one occurrenc (tf=1) for the term. @@ -94,7 +94,7 @@ final class MatchOnlyTermScorer extends Scorer { public String toString() { return "scorer(" + weight + ")"; } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit is this ok here? throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java index c3a620a..351d27b 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/ReqExclScorer.java @@ -17,10 +17,10 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.search.positions.PositionIntervalIterator; +import java.io.IOException; + /** A Scorer for queries with a required subscorer * and an excluding (prohibited) sub DocIdSetIterator. @@ -121,7 +121,7 @@ class ReqExclScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit implement this throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java b/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java index d5dbfa8..e9750ab 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/ReqOptSumScorer.java @@ -16,10 +16,10 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.search.positions.PositionIntervalIterator; +import java.io.IOException; + /** A Scorer for queries with a required part and an optional part. * Delays skipTo() on the optional part until a score() is needed. *
@@ -83,7 +83,7 @@ class ReqOptSumScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit implement this throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java b/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java index 8110796..68e2c90 100644 --- a/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/ScoreCachingWrappingScorer.java @@ -17,10 +17,10 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.search.positions.PositionIntervalIterator; +import java.io.IOException; + /** * A {@link Scorer} which wraps another scorer and caches the score of the * current document. Successive calls to {@link #score()} will return the same @@ -81,8 +81,8 @@ public class ScoreCachingWrappingScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { - return scorer.positions(); + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { + return scorer.positions(needsPayloads, needsOffsets); } } diff --git a/lucene/core/src/java/org/apache/lucene/search/Scorer.java b/lucene/core/src/java/org/apache/lucene/search/Scorer.java index 59d2969..c1864d5 100644 --- a/lucene/core/src/java/org/apache/lucene/search/Scorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/Scorer.java @@ -17,12 +17,12 @@ package org.apache.lucene.search; * limitations under the License. */ +import org.apache.lucene.search.positions.PositionIntervalIterator; + import java.io.IOException; import java.util.Collection; import java.util.Collections; -import org.apache.lucene.search.positions.PositionIntervalIterator; - /** * Expert: Common scoring functionality for different types of queries. * @@ -63,7 +63,7 @@ public abstract class Scorer extends DocIdSetIterator { } } - public abstract PositionIntervalIterator positions() throws IOException; + public abstract PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException; /** * Expert: Collects matching documents in a range. Hook for optimization. diff --git a/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java b/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java index 82174a8..c02007b 100644 --- a/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java @@ -17,19 +17,14 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; - import org.apache.lucene.index.Term; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.Similarity; import org.apache.lucene.util.OpenBitSet; +import java.io.IOException; +import java.util.*; + final class SloppyPhraseScorer extends PhraseScorer { private final int slop; @@ -485,7 +480,7 @@ final class SloppyPhraseScorer extends PhraseScorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { // nocommit implement this (and get a beer before you do so!) throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/TermScorer.java b/lucene/core/src/java/org/apache/lucene/search/TermScorer.java index e8d27f8..b315edf 100644 --- a/lucene/core/src/java/org/apache/lucene/search/TermScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/TermScorer.java @@ -97,10 +97,8 @@ final class TermScorer extends Scorer { public String toString() { return "scorer(" + weight + ")"; } @Override - public PositionIntervalIterator positions() throws IOException { - boolean doPayloads = false; // nocommit - we need to pass this info somehow - boolean doOffsets = false; - return new TermPositions(this, factory.docsAndPositionsEnum(doOffsets), doPayloads); + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { + return new TermPositions(this, factory.docsAndPositionsEnum(needsOffsets), needsPayloads); } static final class TermPositions extends PositionIntervalIterator { diff --git a/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java b/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java index 12045b9..1ca1149 100644 --- a/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/payloads/PayloadTermQuery.java @@ -17,15 +17,9 @@ package org.apache.lucene.search.payloads; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.index.AtomicReaderContext; import org.apache.lucene.index.Term; -import org.apache.lucene.search.ComplexExplanation; -import org.apache.lucene.search.Explanation; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.Weight; +import org.apache.lucene.search.*; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionInterval; import org.apache.lucene.search.similarities.DefaultSimilarity; import org.apache.lucene.search.similarities.Similarity; @@ -37,6 +31,8 @@ import org.apache.lucene.search.spans.SpansScorerWrapper; import org.apache.lucene.util.Bits; import org.apache.lucene.util.BytesRef; +import java.io.IOException; + /** * This class is very similar to * {@link org.apache.lucene.search.spans.SpanTermQuery} except that it factors @@ -85,7 +81,7 @@ public class PayloadTermQuery extends SpanTermQuery { } protected class PayloadTermSpanScorer extends SpanScorer { - protected BytesRef payload; + protected BytesRef payload = new BytesRef(); protected float payloadScore; protected int payloadsSeen; private final SpansScorerWrapper termSpans; diff --git a/lucene/core/src/java/org/apache/lucene/search/positions/BlockPositionIterator.java b/lucene/core/src/java/org/apache/lucene/search/positions/BlockPositionIterator.java index 8af4a14..6a985a7 100644 --- a/lucene/core/src/java/org/apache/lucene/search/positions/BlockPositionIterator.java +++ b/lucene/core/src/java/org/apache/lucene/search/positions/BlockPositionIterator.java @@ -16,11 +16,11 @@ package org.apache.lucene.search.positions; * See the License for the specific language governing permissions and * limitations under the License. */ +import org.apache.lucene.search.Scorer; + import java.io.IOException; import java.util.Arrays; -import org.apache.lucene.search.Scorer; - /** * * @lucene.experimental @@ -70,7 +70,8 @@ public final class BlockPositionIterator extends PositionIntervalIterator { iterators = new PositionIntervalIterator[subScorers.length]; intervals = new PositionInterval[subScorers.length]; for (int i = 0; i < subScorers.length; i++) { - iterators[i] = subScorers[i].positions(); + // nocommit - offsets and payloads? + iterators[i] = subScorers[i].positions(false, false); assert iterators[i] != null; } lastIter = iterators.length - 1; diff --git a/lucene/core/src/java/org/apache/lucene/search/positions/BooleanPositionIterator.java b/lucene/core/src/java/org/apache/lucene/search/positions/BooleanPositionIterator.java index d27f7e8..39f394d 100644 --- a/lucene/core/src/java/org/apache/lucene/search/positions/BooleanPositionIterator.java +++ b/lucene/core/src/java/org/apache/lucene/search/positions/BooleanPositionIterator.java @@ -16,10 +16,10 @@ package org.apache.lucene.search.positions; * See the License for the specific language governing permissions and * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.search.Scorer; +import java.io.IOException; + /** * * @lucene.experimental @@ -36,7 +36,8 @@ abstract class BooleanPositionIterator extends PositionIntervalIterator { this.queue = queue; iterators = new PositionIntervalIterator[subScorers.length]; for (int i = 0; i < subScorers.length; i++) { - iterators[i] = subScorers[i].positions(); + // nocommit - offsets and payloads? + iterators[i] = subScorers[i].positions(false, false); } } diff --git a/lucene/core/src/java/org/apache/lucene/search/positions/PositionFilterQuery.java b/lucene/core/src/java/org/apache/lucene/search/positions/PositionFilterQuery.java index 010a14b..520ce7e 100644 --- a/lucene/core/src/java/org/apache/lucene/search/positions/PositionFilterQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/positions/PositionFilterQuery.java @@ -17,20 +17,16 @@ package org.apache.lucene.search.positions; * limitations under the License. */ -import java.io.IOException; -import java.util.Set; - import org.apache.lucene.index.AtomicReaderContext; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.Term; -import org.apache.lucene.search.Explanation; -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.search.*; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionIntervalFilter; import org.apache.lucene.util.Bits; +import java.io.IOException; +import java.util.Set; + /** * * @lucene.experimental @@ -118,8 +114,10 @@ public class PositionFilterQuery extends Query implements Cloneable { public PositionFilterScorer(Weight weight, Scorer other) throws IOException { super(weight); this.other = other; - this.filter = PositionFilterQuery.this.filter != null ? PositionFilterQuery.this.filter.filter(other.positions()) - : other.positions(); + // nocommit - offsets and payloads? + this.filter = PositionFilterQuery.this.filter != null + ? PositionFilterQuery.this.filter.filter(other.positions(false, false)) + : other.positions(false, false); filtered = new FilteredPositions(this, filter); } @@ -129,9 +127,9 @@ public class PositionFilterQuery extends Query implements Cloneable { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { return PositionFilterQuery.this.filter != null ? PositionFilterQuery.this.filter - .filter(other.positions()) : other.positions(); + .filter(other.positions(needsPayloads, needsOffsets)) : other.positions(needsPayloads, needsOffsets); } @Override diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/MockSpanQuery.java b/lucene/core/src/java/org/apache/lucene/search/spans/MockSpanQuery.java index f8bd6f0..68b86ca 100644 --- a/lucene/core/src/java/org/apache/lucene/search/spans/MockSpanQuery.java +++ b/lucene/core/src/java/org/apache/lucene/search/spans/MockSpanQuery.java @@ -1,21 +1,34 @@ package org.apache.lucene.search.spans; -import java.io.IOException; -import java.util.Collection; -import java.util.Map; -import java.util.Set; +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ import org.apache.lucene.index.AtomicReaderContext; import org.apache.lucene.index.Term; -import org.apache.lucene.search.DocIdSetIterator; -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.search.*; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionIntervalFilter; import org.apache.lucene.util.Bits; import org.apache.lucene.util.TermContext; +import java.io.IOException; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + public class MockSpanQuery extends SpanQuery { private Query other; @@ -49,7 +62,9 @@ public class MockSpanQuery extends SpanQuery { if (scorer == null) { return EMPTY_SPANS; } - return new SpansScorerWrapper(scorer, filter == null ? scorer.positions() : filter.filter(scorer.positions())); + // nocommit - what about offsets here? + return new SpansScorerWrapper(scorer, filter == null ? scorer.positions(needsPayloads, false) + : filter.filter(scorer.positions(needsPayloads, false))); } diff --git a/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java b/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java index 46a3544..30b304b 100644 --- a/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java +++ b/lucene/core/src/java/org/apache/lucene/search/spans/SpanScorer.java @@ -17,13 +17,13 @@ package org.apache.lucene.search.spans; * limitations under the License. */ -import java.io.IOException; - -import org.apache.lucene.search.Weight; import org.apache.lucene.search.Scorer; +import org.apache.lucene.search.Weight; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.Similarity; +import java.io.IOException; + /** * Public for extension only. */ @@ -100,7 +100,7 @@ public class SpanScorer extends Scorer { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { return null; } } diff --git a/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java b/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java index 9f07416..612490d 100644 --- a/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java +++ b/lucene/core/src/test/org/apache/lucene/search/JustCompileSearch.java @@ -17,17 +17,17 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.index.AtomicReaderContext; +import org.apache.lucene.index.FieldInvertState; import org.apache.lucene.index.Norm; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.similarities.Similarity; import org.apache.lucene.util.Bits; import org.apache.lucene.util.BytesRef; -import org.apache.lucene.index.FieldInvertState; import org.apache.lucene.util.PriorityQueue; +import java.io.IOException; + /** * Holds all implementations of classes in the o.a.l.search package as a * back-compatibility test. It does not run any tests per-se, however if @@ -205,7 +205,7 @@ final class JustCompileSearch { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { throw new UnsupportedOperationException(UNSUPPORTED_MSG); } @@ -253,7 +253,7 @@ final class JustCompileSearch { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { throw new UnsupportedOperationException(UNSUPPORTED_MSG); } } diff --git a/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java b/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java index 092a2ce..6364a55 100644 --- a/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java +++ b/lucene/core/src/test/org/apache/lucene/search/TestBooleanScorer.java @@ -17,11 +17,6 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - import org.apache.lucene.document.Document; import org.apache.lucene.document.StringField; import org.apache.lucene.document.TextField; @@ -34,6 +29,11 @@ import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + public class TestBooleanScorer extends LuceneTestCase { private static final String FIELD = "category"; @@ -93,7 +93,7 @@ public class TestBooleanScorer extends LuceneTestCase return doc = target <= 3000 ? 3000 : NO_MORE_DOCS; } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { throw new UnsupportedOperationException(); } diff --git a/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java index 3cde769..914f185 100755 --- a/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java +++ b/lucene/core/src/test/org/apache/lucene/search/TestCachingCollector.java @@ -46,7 +46,7 @@ public class TestCachingCollector extends LuceneTestCase { public int advance(int target) throws IOException { return 0; } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { return PositionIntervalIterator.NO_MORE_POSITIONS; } diff --git a/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java b/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java index 4bb7c15..3a4c075 100644 --- a/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java +++ b/lucene/core/src/test/org/apache/lucene/search/TestPositiveScoresOnlyCollector.java @@ -17,8 +17,6 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.RandomIndexWriter; import org.apache.lucene.index.Term; @@ -26,6 +24,8 @@ import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; + public class TestPositiveScoresOnlyCollector extends LuceneTestCase { private static final class SimpleScorer extends Scorer { @@ -51,7 +51,7 @@ public class TestPositiveScoresOnlyCollector extends LuceneTestCase { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { throw new UnsupportedOperationException(); } } diff --git a/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java b/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java index 10069a8..55ddd74 100644 --- a/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java +++ b/lucene/core/src/test/org/apache/lucene/search/TestScoreCachingWrappingScorer.java @@ -17,8 +17,6 @@ package org.apache.lucene.search; * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.index.AtomicReaderContext; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.RandomIndexWriter; @@ -27,6 +25,8 @@ import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; + public class TestScoreCachingWrappingScorer extends LuceneTestCase { private static final class SimpleScorer extends Scorer { @@ -57,7 +57,7 @@ public class TestScoreCachingWrappingScorer extends LuceneTestCase { } @Override - public PositionIntervalIterator positions() throws IOException { + public PositionIntervalIterator positions(boolean needsPayloads, boolean needsOffsets) throws IOException { throw new UnsupportedOperationException(); } } diff --git a/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java b/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java index 28b6157..1f6a196 100644 --- a/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java +++ b/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java @@ -16,30 +16,23 @@ package org.apache.lucene.search; * See the License for the specific language governing permissions and * limitations under the License. */ -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; - import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.analysis.MockTokenFilter; import org.apache.lucene.analysis.MockTokenizer; import org.apache.lucene.document.Document; import org.apache.lucene.document.TextField; -import org.apache.lucene.index.AtomicReaderContext; -import org.apache.lucene.index.DocsAndPositionsEnum; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexReaderContext; -import org.apache.lucene.index.MultiFields; -import org.apache.lucene.index.RandomIndexWriter; -import org.apache.lucene.index.Term; -import org.apache.lucene.index.TermsEnum; +import org.apache.lucene.index.*; import org.apache.lucene.search.positions.PositionIntervalIterator; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionInterval; import org.apache.lucene.store.Directory; import org.apache.lucene.util.BytesRef; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; + /** * This class contains tests related to {@link TermQuery} */ @@ -48,7 +41,7 @@ public class TestTermQuery extends LuceneTestCase { private String fieldName = "field"; /** - * Simple testcase for {@link TermScorer#positions()} + * Simple testcase for {@link TermScorer#positions(boolean, boolean)} */ public void testPositionsSimple() throws IOException { Directory directory = newDirectory(); @@ -87,7 +80,7 @@ public class TestTermQuery extends LuceneTestCase { assertNotNull(scorer); int toDoc = 1 + random().nextInt(atomicReaderContext.reader().docFreq(new Term(fieldName, "1")) - 1 ); final int advance = scorer.advance(toDoc); - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); do { assertEquals(scorer.docID(), positions.advanceTo(scorer.docID())); @@ -203,7 +196,7 @@ public class TestTermQuery extends LuceneTestCase { if (docID == Scorer.NO_MORE_DOCS) { break; } - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); Integer[] pos = positionsInDoc[atomicReaderContext.docBase + docID]; assertEquals((float) pos.length, positions.getScorer().freq(), 0.0f); @@ -285,7 +278,7 @@ public class TestTermQuery extends LuceneTestCase { initDoc = scorer.advance(random().nextInt(maxDoc)); } String msg = "Iteration: " + i + " initDoc: " + initDoc; - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); assertEquals(howMany / 2.f, positions.getScorer().freq(), 0.0); assertEquals(scorer.docID(), positions.advanceTo(scorer.docID())); for (int j = 0; j < howMany; j += 2) { diff --git a/lucene/core/src/test/org/apache/lucene/search/positions/TestBlockPositionsIterator.java b/lucene/core/src/test/org/apache/lucene/search/positions/TestBlockPositionsIterator.java index 02957f9..84d60a1 100644 --- a/lucene/core/src/test/org/apache/lucene/search/positions/TestBlockPositionsIterator.java +++ b/lucene/core/src/test/org/apache/lucene/search/positions/TestBlockPositionsIterator.java @@ -15,31 +15,19 @@ package org.apache.lucene.search.positions; * See the License for the specific language governing permissions and * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.TextField; -import org.apache.lucene.index.AtomicReaderContext; -import org.apache.lucene.index.CorruptIndexException; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexReaderContext; -import org.apache.lucene.index.RandomIndexWriter; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.BooleanClause; +import org.apache.lucene.index.*; +import org.apache.lucene.search.*; import org.apache.lucene.search.BooleanClause.Occur; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.TermQuery; -import org.apache.lucene.search.TopDocs; -import org.apache.lucene.search.Weight; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionInterval; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionIntervalFilter; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; + public class TestBlockPositionsIterator extends LuceneTestCase { private static final void addDocs(RandomIndexWriter writer) throws CorruptIndexException, IOException { @@ -129,7 +117,7 @@ public class TestBlockPositionsIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(0, nextDoc); - PositionIntervalIterator positions = new BlockPositionIterator(scorer.positions()); + PositionIntervalIterator positions = new BlockPositionIterator(scorer.positions(false, false)); assertEquals(0, positions.advanceTo(0)); PositionInterval interval = null; int[] start = new int[] {0, 31}; @@ -148,7 +136,7 @@ public class TestBlockPositionsIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(1, nextDoc); - PositionIntervalIterator positions = new BlockPositionIterator(scorer.positions()); + PositionIntervalIterator positions = new BlockPositionIterator(scorer.positions(false, false)); assertEquals(1, positions.advanceTo(1)); PositionInterval interval = null; int[] start = new int[] {3, 34}; diff --git a/lucene/core/src/test/org/apache/lucene/search/positions/TestConjunctionPositionsIterator.java b/lucene/core/src/test/org/apache/lucene/search/positions/TestConjunctionPositionsIterator.java index 34af9c0..02c0634 100644 --- a/lucene/core/src/test/org/apache/lucene/search/positions/TestConjunctionPositionsIterator.java +++ b/lucene/core/src/test/org/apache/lucene/search/positions/TestConjunctionPositionsIterator.java @@ -15,30 +15,18 @@ package org.apache.lucene.search.positions; * See the License for the specific language governing permissions and * limitations under the License. */ -import java.io.IOException; - import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.TextField; -import org.apache.lucene.index.AtomicReaderContext; -import org.apache.lucene.index.CorruptIndexException; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexReaderContext; -import org.apache.lucene.index.RandomIndexWriter; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.BooleanClause; +import org.apache.lucene.index.*; +import org.apache.lucene.search.*; import org.apache.lucene.search.BooleanClause.Occur; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.TermQuery; -import org.apache.lucene.search.TopDocs; -import org.apache.lucene.search.Weight; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionInterval; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; + public class TestConjunctionPositionsIterator extends LuceneTestCase { private static final void addDocs(RandomIndexWriter writer) throws CorruptIndexException, IOException { @@ -117,7 +105,7 @@ public class TestConjunctionPositionsIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(0, nextDoc); - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); assertEquals(0, positions.advanceTo(nextDoc)); PositionInterval interval = null; int[] start = new int[] {0, 1, 2, 3, 4, 6, 7, 31, 32, 33}; @@ -136,7 +124,7 @@ public class TestConjunctionPositionsIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(1, nextDoc); - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); assertEquals(1, positions.advanceTo(nextDoc)); PositionInterval interval = null; int[] start = new int[] {0, 1, 3, 4, 5, 6, 7, 31, 32, 34 }; diff --git a/lucene/core/src/test/org/apache/lucene/search/positions/TestDisjunctionPositionIterator.java b/lucene/core/src/test/org/apache/lucene/search/positions/TestDisjunctionPositionIterator.java index 524bc05..0c36bb6 100644 --- a/lucene/core/src/test/org/apache/lucene/search/positions/TestDisjunctionPositionIterator.java +++ b/lucene/core/src/test/org/apache/lucene/search/positions/TestDisjunctionPositionIterator.java @@ -1,29 +1,17 @@ package org.apache.lucene.search.positions; -import java.io.IOException; - import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.TextField; -import org.apache.lucene.index.AtomicReaderContext; -import org.apache.lucene.index.CorruptIndexException; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexReaderContext; -import org.apache.lucene.index.RandomIndexWriter; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.BooleanClause; +import org.apache.lucene.index.*; +import org.apache.lucene.search.*; import org.apache.lucene.search.BooleanClause.Occur; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.TermQuery; -import org.apache.lucene.search.TopDocs; -import org.apache.lucene.search.Weight; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionInterval; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; + public class TestDisjunctionPositionIterator extends LuceneTestCase { private static final void addDocs(RandomIndexWriter writer) throws CorruptIndexException, IOException { @@ -122,7 +110,7 @@ public class TestDisjunctionPositionIterator extends LuceneTestCase { int nextDoc = scorer.nextDoc(); assertEquals(i, nextDoc); - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); assertEquals(i, positions.advanceTo(nextDoc)); PositionInterval interval = positions.next(); assertEquals(1, interval.begin); @@ -176,7 +164,7 @@ public class TestDisjunctionPositionIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(0, nextDoc); - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); assertEquals(0, positions.advanceTo(nextDoc)); PositionInterval interval = null; int[] start = new int[] { 0, 1, 2, 3, 4, 6, 7, 31, 32, 33 }; @@ -198,7 +186,7 @@ public class TestDisjunctionPositionIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(1, nextDoc); - PositionIntervalIterator positions = scorer.positions(); + PositionIntervalIterator positions = scorer.positions(false, false); assertEquals(1, positions.advanceTo(nextDoc)); PositionInterval interval = null; int[] start = new int[] { 0, 1, 3, 4, 5, 6, 7, 31, 32, 34 }; diff --git a/lucene/core/src/test/org/apache/lucene/search/positions/TestOrderedConjunctionPositionsIterator.java b/lucene/core/src/test/org/apache/lucene/search/positions/TestOrderedConjunctionPositionsIterator.java index c288d43..45eb6e6 100644 --- a/lucene/core/src/test/org/apache/lucene/search/positions/TestOrderedConjunctionPositionsIterator.java +++ b/lucene/core/src/test/org/apache/lucene/search/positions/TestOrderedConjunctionPositionsIterator.java @@ -1,30 +1,18 @@ package org.apache.lucene.search.positions; -import java.io.IOException; - import org.apache.lucene.analysis.MockAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.TextField; -import org.apache.lucene.index.AtomicReaderContext; -import org.apache.lucene.index.CorruptIndexException; -import org.apache.lucene.index.IndexReader; -import org.apache.lucene.index.IndexReaderContext; -import org.apache.lucene.index.RandomIndexWriter; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.BooleanClause; +import org.apache.lucene.index.*; +import org.apache.lucene.search.*; import org.apache.lucene.search.BooleanClause.Occur; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.IndexSearcher; -import org.apache.lucene.search.ScoreDoc; -import org.apache.lucene.search.Scorer; -import org.apache.lucene.search.TermQuery; -import org.apache.lucene.search.TopDocs; -import org.apache.lucene.search.Weight; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionInterval; import org.apache.lucene.search.positions.PositionIntervalIterator.PositionIntervalFilter; import org.apache.lucene.store.Directory; import org.apache.lucene.util.LuceneTestCase; +import java.io.IOException; + public class TestOrderedConjunctionPositionsIterator extends LuceneTestCase { private static final void addDocs(RandomIndexWriter writer) throws CorruptIndexException, IOException { @@ -123,7 +111,7 @@ public class TestOrderedConjunctionPositionsIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(0, nextDoc); - PositionIntervalIterator positions = new OrderedConjunctionPositionIterator(scorer.positions()); + PositionIntervalIterator positions = new OrderedConjunctionPositionIterator(scorer.positions(false, false)); assertEquals(0, positions.advanceTo(nextDoc)); PositionInterval interval = null; int[] start = new int[] {0, 31}; @@ -144,7 +132,7 @@ public class TestOrderedConjunctionPositionsIterator extends LuceneTestCase { { int nextDoc = scorer.nextDoc(); assertEquals(1, nextDoc); - PositionIntervalIterator positions = new OrderedConjunctionPositionIterator(scorer.positions()); + PositionIntervalIterator positions = new OrderedConjunctionPositionIterator(scorer.positions(false, false)); assertEquals(1, positions.advanceTo(nextDoc)); PositionInterval interval = null; int[] start = new int[] {3, 34};