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");