Package org.apache.lucene.index
Interface TermPositions
-
- All Superinterfaces:
AutoCloseable
,Closeable
,TermDocs
- All Known Implementing Classes:
FilterIndexReader.FilterTermPositions
,MultipleTermPositions
public interface TermPositions extends TermDocs
TermPositions provides an interface for enumerating the <document, frequency, <position>* > tuples for a term.The document and frequency are the same as for a TermDocs. The positions portion lists the ordinal positions of each occurrence of a term in a document.
- See Also:
IndexReader.termPositions()
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]
getPayload(byte[] data, int offset)
Returns the payload data at the current term position.int
getPayloadLength()
Returns the length of the payload at the current term position.boolean
isPayloadAvailable()
Checks if a payload can be loaded at this position.int
nextPosition()
Returns next position in the current document.
-
-
-
Method Detail
-
nextPosition
int nextPosition() throws IOException
Returns next position in the current document. It is an error to call this more thanTermDocs.freq()
times without callingTermDocs.next()
This is invalid until
TermDocs.next()
is called for the first time.- Throws:
IOException
-
getPayloadLength
int getPayloadLength()
Returns the length of the payload at the current term position. This is invalid untilnextPosition()
is called for the first time.- Returns:
- length of the current payload in number of bytes
-
getPayload
byte[] getPayload(byte[] data, int offset) throws IOException
Returns the payload data at the current term position. This is invalid untilnextPosition()
is called for the first time. This method must not be called more than once after each call ofnextPosition()
. However, 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.- Parameters:
data
- the array into which the data of this payload is to be stored, if it is big enough; otherwise, a new byte[] array is allocated for this purpose.offset
- the offset in the array into which the data of this payload is to be stored.- Returns:
- a byte[] array containing the data of this payload
- Throws:
IOException
-
isPayloadAvailable
boolean isPayloadAvailable()
Checks if a payload can be loaded at this position.Payloads can only be loaded once per call to
nextPosition()
.- Returns:
- true if there is a payload available at this position that can be loaded
-
-