org.apache.lucene.index
Interface TermDocs

All Superinterfaces:
Closeable
All Known Subinterfaces:
TermPositions
All Known Implementing Classes:
AbstractAllTermDocs, FilterIndexReader.FilterTermDocs, FilterIndexReader.FilterTermPositions, InstantiatedTermDocs, InstantiatedTermPositions, MultipleTermPositions

public interface TermDocs
extends Closeable

TermDocs provides an interface for enumerating <document, frequency> pairs for a term.

The document portion names each document containing the term. Documents are indicated by number. The frequency portion gives the number of times the term occurred in each document.

The pairs are ordered by document number.

See Also:
IndexReader.termDocs()

Method Summary
 void close()
          Frees associated resources.
 int doc()
          Returns the current document number.
 int freq()
          Returns the frequency of the term within the current document.
 boolean next()
          Moves to the next pair in the enumeration.
 int read(int[] docs, int[] freqs)
          Attempts to read multiple entries from the enumeration, up to length of docs.
 void seek(Term term)
          Sets this to the data for a term.
 void seek(TermEnum termEnum)
          Sets this to the data for the current term in a TermEnum.
 boolean skipTo(int target)
          Skips entries to the first beyond the current whose document number is greater than or equal to target.
 

Method Detail

seek

void seek(Term term)
          throws IOException
Sets this to the data for a term. The enumeration is reset to the start of the data for this term.

Throws:
IOException

seek

void seek(TermEnum termEnum)
          throws IOException
Sets this to the data for the current term in a TermEnum. This may be optimized in some implementations.

Throws:
IOException

doc

int doc()
Returns the current document number.

This is invalid until next() is called for the first time.


freq

int freq()
Returns the frequency of the term within the current document.

This is invalid until next() is called for the first time.


next

boolean next()
             throws IOException
Moves to the next pair in the enumeration.

Returns true iff there is such a next pair in the enumeration.

Throws:
IOException

read

int read(int[] docs,
         int[] freqs)
         throws IOException
Attempts to read multiple entries from the enumeration, up to length of docs. Document numbers are stored in docs, and term frequencies are stored in freqs. The freqs array must be as long as the docs array.

Returns the number of entries read. Zero is only returned when the stream has been exhausted.

Throws:
IOException

skipTo

boolean skipTo(int target)
               throws IOException
Skips entries to the first beyond the current whose document number is greater than or equal to target.

Returns true iff there is such an entry.

Behaves as if written:

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

Throws:
IOException

close

void close()
           throws IOException
Frees associated resources.

Specified by:
close in interface Closeable
Throws:
IOException