org.apache.lucene.search.spans
Class TermSpans

java.lang.Object
  extended by org.apache.lucene.search.spans.Spans
      extended by org.apache.lucene.search.spans.TermSpans

public class TermSpans
extends Spans

Expert: Public for extension only


Field Summary
protected  int count
           
protected  int doc
           
static TermSpans EMPTY_TERM_SPANS
           
protected  int freq
           
protected  int position
           
protected  DocsAndPositionsEnum postings
           
protected  boolean readPayload
           
protected  Term term
           
 
Constructor Summary
TermSpans(DocsAndPositionsEnum postings, Term term)
           
 
Method Summary
 long cost()
          Returns the estimated cost of this spans.
 int doc()
          Returns the document number of the current match.
 int end()
          Returns the end position of the current match.
 Collection<byte[]> getPayload()
          Returns the payload data for the current span.
 DocsAndPositionsEnum getPostings()
           
 boolean isPayloadAvailable()
          Checks if a payload can be loaded at this position.
 boolean next()
          Move to the next match, returning true iff any such exists.
 boolean skipTo(int target)
          Skips to the first match beyond the current, whose document number is greater than or equal to target.
 int start()
          Returns the start position of the current match.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

postings

protected final DocsAndPositionsEnum postings

term

protected final Term term

doc

protected int doc

freq

protected int freq

count

protected int count

position

protected int position

readPayload

protected boolean readPayload

EMPTY_TERM_SPANS

public static final TermSpans EMPTY_TERM_SPANS
Constructor Detail

TermSpans

public TermSpans(DocsAndPositionsEnum postings,
                 Term term)
Method Detail

next

public boolean next()
             throws IOException
Description copied from class: Spans
Move to the next match, returning true iff any such exists.

Specified by:
next in class Spans
Throws:
IOException

skipTo

public boolean skipTo(int target)
               throws IOException
Description copied from class: Spans
Skips to the first match beyond the current, whose document number is greater than or equal to target.

The behavior of this method is undefined when called with target ≤ current, or after the iterator has exhausted. Both cases may result in unpredicted behavior.

Returns true iff there is such a match.

Behaves as if written:

   boolean skipTo(int target) {
     do {
       if (!next())
         return false;
     } while (target > doc());
     return true;
   }
 
Most implementations are considerably more efficient than that.

Specified by:
skipTo in class Spans
Throws:
IOException

doc

public int doc()
Description copied from class: Spans
Returns the document number of the current match. Initially invalid.

Specified by:
doc in class Spans

start

public int start()
Description copied from class: Spans
Returns the start position of the current match. Initially invalid.

Specified by:
start in class Spans

end

public int end()
Description copied from class: Spans
Returns the end position of the current match. Initially invalid.

Specified by:
end in class Spans

cost

public long cost()
Description copied from class: Spans
Returns the estimated cost of this spans.

This is generally an upper bound of the number of documents this iterator might match, but may be a rough heuristic, hardcoded value, or otherwise completely inaccurate.

Specified by:
cost in class Spans

getPayload

public Collection<byte[]> getPayload()
                              throws IOException
Description copied from class: Spans
Returns the payload data for the current span. This is invalid until Spans.next() is called for the first time. This method must not be called more than once after each call of Spans.next(). However, most payloads are loaded lazily, so if the payload data for the current position is not needed, this method may not be called at all for performance reasons. An ordered SpanQuery does not lazy load, so if you have payloads in your index and you do not want ordered SpanNearQuerys to collect payloads, you can disable collection with a constructor option.

Note that the return type is a collection, thus the ordering should not be relied upon.

Specified by:
getPayload in class Spans
Returns:
a List of byte arrays containing the data of this payload, otherwise null if isPayloadAvailable is false
Throws:
IOException - if there is a low-level I/O error

isPayloadAvailable

public boolean isPayloadAvailable()
                           throws IOException
Description copied from class: Spans
Checks if a payload can be loaded at this position.

Payloads can only be loaded once per call to Spans.next().

Specified by:
isPayloadAvailable in class Spans
Returns:
true if there is a payload available at this position that can be loaded
Throws:
IOException

toString

public String toString()
Overrides:
toString in class Object

getPostings

public DocsAndPositionsEnum getPostings()


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.