Class CompressingStoredFieldsWriter
- java.lang.Object
-
- org.apache.lucene.codecs.StoredFieldsWriter
-
- org.apache.lucene.codecs.compressing.CompressingStoredFieldsWriter
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class CompressingStoredFieldsWriter extends StoredFieldsWriter
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.codecs.StoredFieldsWriter
StoredFieldsWriter.MergeVisitor
-
-
Field Summary
Fields Modifier and Type Field Description static String
FIELDS_EXTENSION
Extension of stored fields filestatic String
FIELDS_INDEX_EXTENSION
Extension of stored fields index file
-
Constructor Summary
Constructors Constructor Description CompressingStoredFieldsWriter(Directory directory, SegmentInfo si, String segmentSuffix, IOContext context, String formatName, CompressionMode compressionMode, int chunkSize, int maxDocsPerChunk, int blockSize)
Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
void
finish(FieldInfos fis, int numDocs)
Called beforeStoredFieldsWriter.close()
, passing in the number of documents that were written.void
finishDocument()
Called when a document and all its fields have been added.int
merge(MergeState mergeState)
Merges in the stored fields from the readers inmergeState
.void
startDocument()
Called before writing the stored fields of the document.void
writeField(FieldInfo info, IndexableField field)
Writes a single stored field.
-
-
-
Field Detail
-
FIELDS_EXTENSION
public static final String FIELDS_EXTENSION
Extension of stored fields file- See Also:
- Constant Field Values
-
FIELDS_INDEX_EXTENSION
public static final String FIELDS_INDEX_EXTENSION
Extension of stored fields index file- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CompressingStoredFieldsWriter
public CompressingStoredFieldsWriter(Directory directory, SegmentInfo si, String segmentSuffix, IOContext context, String formatName, CompressionMode compressionMode, int chunkSize, int maxDocsPerChunk, int blockSize) throws IOException
Sole constructor.- Throws:
IOException
-
-
Method Detail
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classStoredFieldsWriter
- Throws:
IOException
-
startDocument
public void startDocument() throws IOException
Description copied from class:StoredFieldsWriter
Called before writing the stored fields of the document.StoredFieldsWriter.writeField(FieldInfo, IndexableField)
will be called for each stored field. Note that this is called even if the document has no stored fields.- Specified by:
startDocument
in classStoredFieldsWriter
- Throws:
IOException
-
finishDocument
public void finishDocument() throws IOException
Description copied from class:StoredFieldsWriter
Called when a document and all its fields have been added.- Overrides:
finishDocument
in classStoredFieldsWriter
- Throws:
IOException
-
writeField
public void writeField(FieldInfo info, IndexableField field) throws IOException
Description copied from class:StoredFieldsWriter
Writes a single stored field.- Specified by:
writeField
in classStoredFieldsWriter
- Throws:
IOException
-
finish
public void finish(FieldInfos fis, int numDocs) throws IOException
Description copied from class:StoredFieldsWriter
Called beforeStoredFieldsWriter.close()
, passing in the number of documents that were written. Note that this is intentionally redundant (equivalent to the number of calls toStoredFieldsWriter.startDocument()
, but a Codec should check that this is the case to detect the JRE bug described in LUCENE-1282.- Specified by:
finish
in classStoredFieldsWriter
- Throws:
IOException
-
merge
public int merge(MergeState mergeState) throws IOException
Description copied from class:StoredFieldsWriter
Merges in the stored fields from the readers inmergeState
. The default implementation skips over deleted documents, and usesStoredFieldsWriter.startDocument()
,StoredFieldsWriter.writeField(FieldInfo, IndexableField)
, andStoredFieldsWriter.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:
merge
in classStoredFieldsWriter
- Throws:
IOException
-
-