public final class CompressingTermVectorsWriter extends TermVectorsWriter
| Constructor and Description |
|---|
CompressingTermVectorsWriter(Directory directory,
SegmentInfo si,
String segmentSuffix,
IOContext context,
String formatName,
CompressionMode compressionMode,
int chunkSize)
Sole constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
abort()
Aborts writing entirely, implementation should remove
any partially-written files, etc.
|
void |
addPosition(int position,
int startOffset,
int endOffset,
BytesRef payload)
Adds a term position and offsets
|
void |
addProx(int numProx,
DataInput positions,
DataInput offsets)
Called by IndexWriter when writing new segments.
|
void |
close() |
void |
finish(FieldInfos fis,
int numDocs)
Called before
TermVectorsWriter.close(), passing in the number
of documents that were written. |
void |
finishDocument()
Called after a doc and all its fields have been added.
|
void |
finishField()
Called after a field and all its terms have been added.
|
Comparator<BytesRef> |
getComparator()
Return the BytesRef Comparator used to sort terms
before feeding to this API.
|
int |
merge(MergeState mergeState)
Merges in the term vectors from the readers in
mergeState. |
void |
startDocument(int numVectorFields)
Called before writing the term vectors of the document.
|
void |
startField(FieldInfo info,
int numTerms,
boolean positions,
boolean offsets,
boolean payloads)
Called before writing the terms of the field.
|
void |
startTerm(BytesRef term,
int freq)
Adds a term and its term frequency
freq. |
addAllDocVectors, finishTermpublic CompressingTermVectorsWriter(Directory directory, SegmentInfo si, String segmentSuffix, IOContext context, String formatName, CompressionMode compressionMode, int chunkSize) throws IOException
IOExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class TermVectorsWriterIOExceptionpublic void abort()
TermVectorsWriterabort in class TermVectorsWriterpublic void startDocument(int numVectorFields)
throws IOException
TermVectorsWriterTermVectorsWriter.startField(FieldInfo, int, boolean, boolean, boolean) will
be called numVectorFields times. Note that if term
vectors are enabled, this is called even if the document
has no vector fields, in this case numVectorFields
will be zero.startDocument in class TermVectorsWriterIOExceptionpublic void finishDocument()
throws IOException
TermVectorsWriterfinishDocument in class TermVectorsWriterIOExceptionpublic void startField(FieldInfo info, int numTerms, boolean positions, boolean offsets, boolean payloads) throws IOException
TermVectorsWriterTermVectorsWriter.startTerm(BytesRef, int) will be called numTerms times.startField in class TermVectorsWriterIOExceptionpublic void finishField()
throws IOException
TermVectorsWriterfinishField in class TermVectorsWriterIOExceptionpublic void startTerm(BytesRef term, int freq) throws IOException
TermVectorsWriterfreq.
If this field has positions and/or offsets enabled, then
TermVectorsWriter.addPosition(int, int, int, BytesRef) will be called
freq times respectively.startTerm in class TermVectorsWriterIOExceptionpublic void addPosition(int position,
int startOffset,
int endOffset,
BytesRef payload)
throws IOException
TermVectorsWriteraddPosition in class TermVectorsWriterIOExceptionpublic void finish(FieldInfos fis, int numDocs) throws IOException
TermVectorsWriterTermVectorsWriter.close(), passing in the number
of documents that were written. Note that this is
intentionally redundant (equivalent to the number of
calls to TermVectorsWriter.startDocument(int), but a Codec should
check that this is the case to detect the JRE bug described
in LUCENE-1282.finish in class TermVectorsWriterIOExceptionpublic Comparator<BytesRef> getComparator()
TermVectorsWritergetComparator in class TermVectorsWriterpublic void addProx(int numProx,
DataInput positions,
DataInput offsets)
throws IOException
TermVectorsWriterThis is an expert API that allows the codec to consume positions and offsets directly from the indexer.
The default implementation calls TermVectorsWriter.addPosition(int, int, int, BytesRef),
but subclasses can override this if they want to efficiently write
all the positions, then all the offsets, for example.
NOTE: This API is extremely expert and subject to change or removal!!!
addProx in class TermVectorsWriterIOExceptionpublic int merge(MergeState mergeState) throws IOException
TermVectorsWritermergeState. The default implementation skips
over deleted documents, and uses TermVectorsWriter.startDocument(int),
TermVectorsWriter.startField(FieldInfo, int, boolean, boolean, boolean),
TermVectorsWriter.startTerm(BytesRef, int), TermVectorsWriter.addPosition(int, int, int, BytesRef),
and TermVectorsWriter.finish(FieldInfos, int),
returning the number of documents that were written.
Implementations can override this method for more sophisticated
merging (bulk-byte copying, etc).merge in class TermVectorsWriterIOExceptionCopyright © 2000-2015 Apache Software Foundation. All Rights Reserved.