You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by si...@apache.org on 2012/10/26 18:40:28 UTC
svn commit: r1402567 - in /lucene/dev/branches/LUCENE-2878/lucene:
core/src/java/org/apache/lucene/search/
core/src/java/org/apache/lucene/search/positions/
core/src/test/org/apache/lucene/search/
highlighter/src/test/org/apache/lucene/search/highlight...
Author: simonw
Date: Fri Oct 26 16:40:27 2012
New Revision: 1402567
URL: http://svn.apache.org/viewvc?rev=1402567&view=rev
Log:
LUCENE-2878: more javadocs and cleanups
Modified:
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Collector.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Weight.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/ConjunctionIntervalIterator.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/Interval.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalFilterQuery.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueue.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueAnd.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueOr.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/NonOverlappingQuery.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/TermIntervalIterator.java
lucene/dev/branches/LUCENE-2878/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java
lucene/dev/branches/LUCENE-2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/IntervalHighlighterTest.java
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Collector.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Collector.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Collector.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Collector.java Fri Oct 26 16:40:27 2012
@@ -174,7 +174,10 @@ public abstract class Collector {
*/
public abstract boolean acceptsDocsOutOfOrder();
- //nocommit add javadocs
+ /**
+ * Returns the posting features required by this collector. Default value is
+ * {@link PostingFeatures#DOCS_AND_FREQS}.
+ */
public PostingFeatures postingFeatures() {
return PostingFeatures.DOCS_AND_FREQS;
}
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/FilteredQuery.java Fri Oct 26 16:40:27 2012
@@ -491,7 +491,7 @@ public class FilteredQuery extends Query
* be called.
* @param weight the {@link FilteredQuery} {@link Weight} to create the filtered scorer.
* @param docIdSet the filter {@link DocIdSet} to apply
- * //nocommit add javadoc
+ * @param flags the low level {@link PostingFeatures} for this scorer.
* @return a filtered scorer
*
* @throws IOException if an {@link IOException} occurs
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/MatchAllDocsQuery.java Fri Oct 26 16:40:27 2012
@@ -81,8 +81,7 @@ public class MatchAllDocsQuery extends Q
@Override
public IntervalIterator intervals(boolean collectIntervals) throws IOException {
- // nocommit this is tricky - I think we can't really provide positions here?
- throw new UnsupportedOperationException();
+ throw new UnsupportedOperationException("MatchAllDocsQuery doesn't support IntervalIterators");
}
}
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/SloppyPhraseScorer.java Fri Oct 26 16:40:27 2012
@@ -543,21 +543,15 @@ final class SloppyPhraseScorer extends P
@Override
public IntervalIterator intervals(boolean collectIntervals) throws IOException {
- // nocommit - payloads?
Map<Term, IterAndOffsets> map = new HashMap<Term, IterAndOffsets>();
List<DocsAndPositionsEnum> enums = new ArrayList<DocsAndPositionsEnum>();
for (int i = 0; i < postings.length; i++) {
+ if (postings[i].terms.length > 1) {
+ throw new UnsupportedOperationException("IntervalIterators for MulitPhraseQuery is not supported");
+ }
Term term = postings[i].terms[0];
-// System.out.println(Arrays.toString(postings[i].terms));
IterAndOffsets iterAndOffset;
- /*
- * NOCOMMIT This currently only works if there is only one term per position.
- * For multiple terms we need to extend the MaxLengthPI. and specialize
- * ConjunctionPositionIterator - we should do this anyway.
- * We can then pull a D&PEnum per term instead of the union and assign the correct
- * ords to them internally everything else should just work as before
- */
if (!map.containsKey(term)) {
DocsAndPositionsEnum docsAndPosEnum = postings[i].factory
.docsAndPositionsEnum();
@@ -569,7 +563,6 @@ final class SloppyPhraseScorer extends P
iterAndOffset = map.get(term);
}
iterAndOffset.offsets.add(postings[i].position);
-// System.out.println("POS: " + postings[i].position + " " + term);
}
Collection<IterAndOffsets> values = map.values();
IntervalIterator[] iters = new IntervalIterator[values.size()];
@@ -580,24 +573,21 @@ final class SloppyPhraseScorer extends P
return new AdvancingIntervalIterator(this, collectIntervals, enums.toArray(new DocsAndPositionsEnum[enums.size()]), new SloppyIntervalIterator(this, slop, collectIntervals, iters));
}
-
-
- private static class IterAndOffsets {
+ private final static class IterAndOffsets {
final List<Integer> offsets = new ArrayList<Integer>();
final IntervalIterator iter;
+
IterAndOffsets(IntervalIterator iter) {
this.iter = iter;
}
- public int[] toIntArray() {
+ int[] toIntArray() {
int[] array = new int[offsets.size()];
for (int i = 0; i < array.length; i++) {
array[i] = offsets.get(i).intValue();
}
return array;
}
-
-
}
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Weight.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Weight.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Weight.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/Weight.java Fri Oct 26 16:40:27 2012
@@ -24,6 +24,7 @@ import org.apache.lucene.index.AtomicRea
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.IndexReaderContext; // javadocs
+import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.search.similarities.Similarity;
import org.apache.lucene.util.Bits;
@@ -105,7 +106,7 @@ public abstract class Weight {
* if true, {@link Scorer#score(Collector)} will be called; if false,
* {@link Scorer#nextDoc()} and/or {@link Scorer#advance(int)} will
* be called.
- * @param flags TODO
+ * @param flags the low level {@link PostingFeatures} for this scorer.
* @param acceptDocs
* Bits that represent the allowable docs to match (typically deleted docs
* but possibly filtering other documents)
@@ -128,12 +129,23 @@ public abstract class Weight {
*/
public boolean scoresDocsOutOfOrder() { return false; }
+ /**
+ * Feature flags used to control low-level posting list features. These flags
+ * all Collectors and scorers to specify their requirements for document
+ * collection and scoring ahead of time for best performance.
+ */
public static enum PostingFeatures {
+ /**Only document IDs are required for document collection and scoring*/
DOCS_ONLY(0, 0, false),
- DOCS_AND_FREQS(DocsEnum.FLAG_FREQS, 0, false),
+ /**Document IDs and Term Frequencies are required for document collection and scoring*/
+ DOCS_AND_FREQS(DocsEnum.FLAG_FREQS, 0, false),
+ /**Document IDs, Term Frequencies and Positions are required for document collection and scoring*/
POSITIONS(DocsEnum.FLAG_FREQS, 0, true),
+ /**Document IDs, Term Frequencies, Positions and Payloads are required for document collection and scoring*/
POSITIONS_AND_PAYLOADS(DocsEnum.FLAG_FREQS, DocsAndPositionsEnum.FLAG_PAYLOADS, true),
+ /**Document IDs, Term Frequencies, Positions and Offsets are required for document collection and scoring*/
OFFSETS(DocsEnum.FLAG_FREQS, DocsAndPositionsEnum.FLAG_OFFSETS, true),
+ /**Document IDs, Term Frequencies, Positions, Offsets and Payloads are required for document collection and scoring*/
OFFSETS_AND_PAYLOADS(DocsEnum.FLAG_FREQS, DocsAndPositionsEnum.FLAG_OFFSETS
| DocsAndPositionsEnum.FLAG_PAYLOADS, true);
@@ -141,21 +153,38 @@ public abstract class Weight {
private final int docFlags;
private final boolean isProximityFeature;
-
private PostingFeatures(int docFlags, int docsAndPositionsFlags, boolean isProximityFeature) {
this.docsAndPositionsFlags = docsAndPositionsFlags;
this.docFlags = docFlags;
this.isProximityFeature = isProximityFeature;
}
+ /**
+ * Returns the flags for {@link DocsAndPositionsEnum}. This value should be
+ * passed to
+ * {@link TermsEnum#docsAndPositions(Bits, DocsAndPositionsEnum, int)}
+ *
+ * @return {@link DocsAndPositionsEnum} flags
+ */
public int docsAndPositionsFlags() {
return docsAndPositionsFlags;
}
+ /**
+ * Returns the flags for {@link DocsEnum}. This value should be
+ * passed to
+ * {@link TermsEnum#docs(Bits, DocsEnum, int)}
+ *
+ * @return {@link DocsEnum} flags
+ */
public int docFlags() {
return docFlags;
}
+ /**
+ * Returns <code>true</code> iff the current flags set requires positions
+ * ie. a {@link DocsAndPositionsEnum}.
+ */
public boolean isProximityFeature() {
return isProximityFeature;
}
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/ConjunctionIntervalIterator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/ConjunctionIntervalIterator.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/ConjunctionIntervalIterator.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/ConjunctionIntervalIterator.java Fri Oct 26 16:40:27 2012
@@ -40,6 +40,7 @@ public final class ConjunctionIntervalIt
private int rightExtremeBegin;
+ // nocommit javadocs!
public ConjunctionIntervalIterator(Scorer scorer, boolean collectIntervals,
IntervalIterator... iterators) throws IOException {
this(scorer, collectIntervals, iterators.length, iterators);
@@ -102,9 +103,6 @@ public final class ConjunctionIntervalIt
queue.reset();
for (int i = 0; i < iterators.length; i++) {
int scorerAdvanced = iterators[i].scorerAdvanced(docId);
- if (scorerAdvanced != docId) {
- System.out.println(); // nocommit!
- }
assert scorerAdvanced == docId;
final Interval interval = iterators[i].next();
if (interval != null) {
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/Interval.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/Interval.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/Interval.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/Interval.java Fri Oct 26 16:40:27 2012
@@ -16,10 +16,6 @@ package org.apache.lucene.search.positio
* limitations under the License.
*/
-import org.apache.lucene.util.BytesRef;
-
-import java.io.IOException;
-
/**
* Represents a section of a document that matches a query
*/
@@ -134,11 +130,6 @@ public class Interval implements Cloneab
offsetEnd = other.offsetEnd;
}
- // nocommit javadocs
- public BytesRef nextPayload() throws IOException {
- return null;
- }
-
/**
* Set to a state that will always compare as less than any
* other Interval.
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalFilterQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalFilterQuery.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalFilterQuery.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalFilterQuery.java Fri Oct 26 16:40:27 2012
@@ -45,7 +45,7 @@ import java.util.Set;
public class IntervalFilterQuery extends Query implements Cloneable {
private Query inner;
- private IntervalFilter filter;
+ private final IntervalFilter filter;
/**
* Constructs a query using an inner query and an IntervalFilter
@@ -154,8 +154,7 @@ public class IntervalFilterQuery extends
}
- class PositionFilterScorer extends Scorer {
-
+ final class PositionFilterScorer extends Scorer {
private final Scorer other;
private IntervalIterator filter;
private Interval current;
@@ -164,7 +163,6 @@ public class IntervalFilterQuery extends
super(weight);
this.other = other;
this.factory = factory;
- // nocommit - offsets and payloads?
this.filter = IntervalFilterQuery.this.filter.filter(false, other.intervals(false));
}
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueue.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueue.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueue.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueue.java Fri Oct 26 16:40:27 2012
@@ -20,31 +20,46 @@ import org.apache.lucene.search.position
import org.apache.lucene.util.PriorityQueue;
/**
- *
+ * Abstract base class for calculating minimal spanning intervals with Queues.
+ * @see IntervalQueueAnd
+ *
* @lucene.experimental
+ * @lucene.internal
*/
-// nocommit - javadoc
abstract class IntervalQueue extends PriorityQueue<IntervalRef> {
+ /**
+ * The current interval spanning the queue
+ */
final Interval currentCandidate = new Interval(
Integer.MIN_VALUE, Integer.MIN_VALUE, -1, -1);
-
- public void reset() {
- clear();
- currentCandidate.begin = Integer.MIN_VALUE;
- currentCandidate.end = Integer.MIN_VALUE;
- currentCandidate.offsetBegin = -1;
- currentCandidate.offsetEnd = -1;
- }
-
- abstract public void updateCurrentCandidate();
-
+
+ /**
+ * Creates a new {@link IntervalQueue} with a fixed size
+ * @param size the size of the queue
+ */
public IntervalQueue(int size) {
super(size);
}
+
+ /**
+ * Clears and resets the queue to its initial values;
+ */
+ void reset() {
+ clear();
+ currentCandidate.reset();
+ }
+ /**
+ * Called by the consumer each time the head of the queue was updated
+ */
+ abstract void updateCurrentCandidate();
+
+ /**
+ * Holds a reference to an interval and its index.
+ */
final static class IntervalRef {
Interval interval;
- int index;
+ final int index;
IntervalRef(Interval interval, int index) {
super();
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueAnd.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueAnd.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueAnd.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueAnd.java Fri Oct 26 16:40:27 2012
@@ -17,28 +17,42 @@ package org.apache.lucene.search.positio
*/
/**
- *
+ * Queue class for calculating minimal spanning conjunction intervals
* @lucene.experimental
- */ // nocommit - javadoc/
+ */
final class IntervalQueueAnd extends IntervalQueue {
-
+
+ /** the current right extreme positions of the queue */
int rightExtreme = Integer.MIN_VALUE;
+ /** the current right extreme offset of the queue */
int rightExtremeOffset = Integer.MIN_VALUE;
+ /** the current right extreme begin position*/
int rightExtremeBegin;
+ /** the end of the internval on top of the queue*/
int currentTopEnd;
-
- public IntervalQueueAnd(int size) {
+ /**
+ * Creates a new {@link IntervalQueueAnd} with a fixed size
+ * @param size the size of the queue
+ */
+ IntervalQueueAnd(int size) {
super(size);
}
- public void reset () {
+ @Override
+ void reset () {
super.reset();
rightExtreme = Integer.MIN_VALUE;
rightExtremeOffset = Integer.MIN_VALUE;
}
-
- public void updateRightExtreme(IntervalRef intervalRef) {
+
+ /**
+ * Updates the right extreme of this queue if the end of the given interval is
+ * greater or equal than the current right extreme of the queue.
+ *
+ * @param intervalRef the interval to compare
+ */
+ void updateRightExtreme(IntervalRef intervalRef) {
final Interval interval = intervalRef.interval;
if (rightExtreme <= interval.end) {
rightExtreme = interval.end;
@@ -47,7 +61,8 @@ final class IntervalQueueAnd extends Int
}
}
- public void updateCurrentCandidate() {
+ @Override
+ void updateCurrentCandidate() {
final IntervalRef top = top();
Interval interval = top.interval;
currentCandidate.begin = interval.begin;
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueOr.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueOr.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueOr.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/IntervalQueueOr.java Fri Oct 26 16:40:27 2012
@@ -16,16 +16,21 @@ package org.apache.lucene.search.positio
* limitations under the License.
*/
/**
- *
+ * Queue class for calculating minimal spanning disjunct intervals
* @lucene.experimental
- */ // nocommit - javadoc
+ */
final class IntervalQueueOr extends IntervalQueue {
- public IntervalQueueOr(int size) {
+ /**
+ * Creates a new {@link IntervalQueueOr} with a fixed size
+ * @param size the size of the queue
+ */
+ IntervalQueueOr(int size) {
super(size);
}
- public void updateCurrentCandidate() {
+ @Override
+ void updateCurrentCandidate() {
currentCandidate.copy(top().interval);
}
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/NonOverlappingQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/NonOverlappingQuery.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/NonOverlappingQuery.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/NonOverlappingQuery.java Fri Oct 26 16:40:27 2012
@@ -180,7 +180,7 @@ public final class NonOverlappingQuery e
}
- class PositionFilterScorer extends Scorer {
+ final class PositionFilterScorer extends Scorer {
private final Scorer other;
private IntervalIterator filter;
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/TermIntervalIterator.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/TermIntervalIterator.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/TermIntervalIterator.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/java/org/apache/lucene/search/positions/TermIntervalIterator.java Fri Oct 26 16:40:27 2012
@@ -18,7 +18,6 @@ package org.apache.lucene.search.positio
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.search.Scorer;
-import org.apache.lucene.util.BytesRef;
import java.io.IOException;
@@ -44,8 +43,7 @@ public final class TermIntervalIterator
boolean doPayloads, boolean collectIntervals) {
super(scorer, collectIntervals);
this.docsAndPos = docsAndPos;
- this.interval = doPayloads ? new PayloadInterval(docsAndPos, this)
- : new Interval();
+ this.interval = new Interval();
}
@Override
@@ -96,32 +94,32 @@ public final class TermIntervalIterator
public int matchDistance() {
return 0;
}
-
- private static final class PayloadInterval extends Interval {
- private int pos = -1;
- private final DocsAndPositionsEnum payloads;
- private final TermIntervalIterator termPos;
-
- public PayloadInterval(DocsAndPositionsEnum payloads, TermIntervalIterator pos) {
- this.payloads = payloads;
- this.termPos = pos;
- }
-
- @Override
- public BytesRef nextPayload() throws IOException {
- if (pos == termPos.positionsPending) {
- return null;
- } else {
- pos = termPos.positionsPending;
- return payloads.getPayload();
- }
- }
-
- @Override
- public void reset() {
- super.reset();
- pos = -1;
- }
-
- }
+// TODO not supported yet - need to figure out what that means really to support payloads
+// private static final class PayloadInterval extends Interval {
+// private int pos = -1;
+// private final DocsAndPositionsEnum payloads;
+// private final TermIntervalIterator termPos;
+//
+// public PayloadInterval(DocsAndPositionsEnum payloads, TermIntervalIterator pos) {
+// this.payloads = payloads;
+// this.termPos = pos;
+// }
+//
+// @Override
+// public BytesRef nextPayload() throws IOException {
+// if (pos == termPos.positionsPending) {
+// return null;
+// } else {
+// pos = termPos.positionsPending;
+// return payloads.getPayload();
+// }
+// }
+//
+// @Override
+// public void reset() {
+// super.reset();
+// pos = -1;
+// }
+//
+// }
}
\ No newline at end of file
Modified: lucene/dev/branches/LUCENE-2878/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/core/src/test/org/apache/lucene/search/TestTermQuery.java Fri Oct 26 16:40:27 2012
@@ -125,11 +125,12 @@ public class TestTermQuery extends Lucen
public final void checkPayload(int pos, Interval interval,
boolean payloadsIndexed) throws IOException {
- if (payloadsIndexed) {
- assertNotNull(interval.nextPayload());
- } else {
- assertNull(interval.nextPayload());
- }
+ // not supported yet need to figure out how to expose this efficiently
+// if (payloadsIndexed) {
+// assertNotNull(interval.nextPayload());
+// } else {
+// assertNull(interval.nextPayload());
+// }
}
/**
Modified: lucene/dev/branches/LUCENE-2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/IntervalHighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/LUCENE-2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/IntervalHighlighterTest.java?rev=1402567&r1=1402566&r2=1402567&view=diff
==============================================================================
--- lucene/dev/branches/LUCENE-2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/IntervalHighlighterTest.java (original)
+++ lucene/dev/branches/LUCENE-2878/lucene/highlighter/src/test/org/apache/lucene/search/highlight/positions/IntervalHighlighterTest.java Fri Oct 26 16:40:27 2012
@@ -432,6 +432,7 @@ public class IntervalHighlighterTest ext
close();
}
+ @Ignore("not implemented yet - unsupported")
public void testMultiPhraseQuery() throws Exception {
MultiPhraseQuery query = new MultiPhraseQuery();
insertDocs(analyzer, "pease porridge hot but not too hot or otherwise pease porridge cold");
@@ -447,7 +448,7 @@ public class IntervalHighlighterTest ext
close();
}
- @Ignore("not implemented yet")
+ @Ignore("not implemented yet - unsupported")
public void testMultiPhraseQueryCollisions() throws Exception {
MultiPhraseQuery query = new MultiPhraseQuery();
insertDocs(analyzer, "pease porridge hot not too hot or otherwise pease porridge porridge");