Class CompressingTermVectorsWriter
- java.lang.Object
-
- org.apache.lucene.codecs.TermVectorsWriter
-
- org.apache.lucene.codecs.compressing.CompressingTermVectorsWriter
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class CompressingTermVectorsWriter extends TermVectorsWriter
-
-
Constructor Summary
Constructors Constructor Description CompressingTermVectorsWriter(Directory directory, SegmentInfo si, java.lang.String segmentSuffix, IOContext context, java.lang.String formatName, CompressionMode compressionMode, int chunkSize)Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort()Aborts writing entirely, implementation should remove any partially-written files, etc.voidaddPosition(int position, int startOffset, int endOffset, BytesRef payload)Adds a term position and offsetsvoidaddProx(int numProx, DataInput positions, DataInput offsets)Called by IndexWriter when writing new segments.voidclose()voidfinish(FieldInfos fis, int numDocs)Called beforeTermVectorsWriter.close(), passing in the number of documents that were written.voidfinishDocument()Called after a doc and all its fields have been added.voidfinishField()Called after a field and all its terms have been added.java.util.Comparator<BytesRef>getComparator()Return the BytesRef Comparator used to sort terms before feeding to this API.intmerge(MergeState mergeState)Merges in the term vectors from the readers inmergeState.voidstartDocument(int numVectorFields)Called before writing the term vectors of the document.voidstartField(FieldInfo info, int numTerms, boolean positions, boolean offsets, boolean payloads)Called before writing the terms of the field.voidstartTerm(BytesRef term, int freq)Adds a term and its term frequencyfreq.-
Methods inherited from class org.apache.lucene.codecs.TermVectorsWriter
finishTerm
-
-
-
-
Constructor Detail
-
CompressingTermVectorsWriter
public CompressingTermVectorsWriter(Directory directory, SegmentInfo si, java.lang.String segmentSuffix, IOContext context, java.lang.String formatName, CompressionMode compressionMode, int chunkSize) throws java.io.IOException
Sole constructor.- Throws:
java.io.IOException
-
-
Method Detail
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein classTermVectorsWriter- Throws:
java.io.IOException
-
abort
public void abort()
Description copied from class:TermVectorsWriterAborts writing entirely, implementation should remove any partially-written files, etc.- Specified by:
abortin classTermVectorsWriter
-
startDocument
public void startDocument(int numVectorFields) throws java.io.IOExceptionDescription copied from class:TermVectorsWriterCalled before writing the term vectors of the document.TermVectorsWriter.startField(FieldInfo, int, boolean, boolean, boolean)will be callednumVectorFieldstimes. Note that if term vectors are enabled, this is called even if the document has no vector fields, in this casenumVectorFieldswill be zero.- Specified by:
startDocumentin classTermVectorsWriter- Throws:
java.io.IOException
-
finishDocument
public void finishDocument() throws java.io.IOExceptionDescription copied from class:TermVectorsWriterCalled after a doc and all its fields have been added.- Overrides:
finishDocumentin classTermVectorsWriter- Throws:
java.io.IOException
-
startField
public void startField(FieldInfo info, int numTerms, boolean positions, boolean offsets, boolean payloads) throws java.io.IOException
Description copied from class:TermVectorsWriterCalled before writing the terms of the field.TermVectorsWriter.startTerm(BytesRef, int)will be callednumTermstimes.- Specified by:
startFieldin classTermVectorsWriter- Throws:
java.io.IOException
-
finishField
public void finishField() throws java.io.IOExceptionDescription copied from class:TermVectorsWriterCalled after a field and all its terms have been added.- Overrides:
finishFieldin classTermVectorsWriter- Throws:
java.io.IOException
-
startTerm
public void startTerm(BytesRef term, int freq) throws java.io.IOException
Description copied from class:TermVectorsWriterAdds a term and its term frequencyfreq. If this field has positions and/or offsets enabled, thenTermVectorsWriter.addPosition(int, int, int, BytesRef)will be calledfreqtimes respectively.- Specified by:
startTermin classTermVectorsWriter- Throws:
java.io.IOException
-
addPosition
public void addPosition(int position, int startOffset, int endOffset, BytesRef payload) throws java.io.IOExceptionDescription copied from class:TermVectorsWriterAdds a term position and offsets- Specified by:
addPositionin classTermVectorsWriter- Throws:
java.io.IOException
-
finish
public void finish(FieldInfos fis, int numDocs) throws java.io.IOException
Description copied from class:TermVectorsWriterCalled beforeTermVectorsWriter.close(), passing in the number of documents that were written. Note that this is intentionally redundant (equivalent to the number of calls toTermVectorsWriter.startDocument(int), but a Codec should check that this is the case to detect the JRE bug described in LUCENE-1282.- Specified by:
finishin classTermVectorsWriter- Throws:
java.io.IOException
-
getComparator
public java.util.Comparator<BytesRef> getComparator()
Description copied from class:TermVectorsWriterReturn the BytesRef Comparator used to sort terms before feeding to this API.- Specified by:
getComparatorin classTermVectorsWriter
-
addProx
public void addProx(int numProx, DataInput positions, DataInput offsets) throws java.io.IOExceptionDescription copied from class:TermVectorsWriterCalled by IndexWriter when writing new segments.This 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!!!
- Overrides:
addProxin classTermVectorsWriter- Throws:
java.io.IOException
-
merge
public int merge(MergeState mergeState) throws java.io.IOException
Description copied from class:TermVectorsWriterMerges in the term vectors from the readers inmergeState. The default implementation skips over deleted documents, and usesTermVectorsWriter.startDocument(int),TermVectorsWriter.startField(FieldInfo, int, boolean, boolean, boolean),TermVectorsWriter.startTerm(BytesRef, int),TermVectorsWriter.addPosition(int, int, int, BytesRef), andTermVectorsWriter.finish(FieldInfos, int), returning the number of documents that were written. Implementations can override this method for more sophisticated merging (bulk-byte copying, etc).- Overrides:
mergein classTermVectorsWriter- Throws:
java.io.IOException
-
-