public class Lucene49NormsFormat extends NormsFormat
Encodes normalization values with these strategies:
SmallFloat
),
a lookup table is written instead. Each per-document entry is instead the ordinal
to this table, and those ordinals are compressed with bitpacking (PackedInts
).
BlockPackedWriter
.
This is only used when norms of larger than one byte are present.
Files:
The Norms metadata or .nvm file.
For each norms field, this stores metadata, such as the offset into the Norms data (.nvd)
Norms metadata (.dvm) --> Header,<Entry>NumFields,Footer
CodecHeader
vInt
Byte
Int64
CodecFooter
FieldNumber of -1 indicates the end of metadata.
Offset is the pointer to the start of the data in the norms data (.nvd), or the singleton value for Constant
Type indicates how Numeric values will be compressed:
The Norms data or .nvd file.
For each Norms field, this stores the actual per-document data (the heavy-lifting)
Norms data (.nvd) --> Header,<Uncompressed | TableCompressed | DeltaCompressed>NumFields,Footer
CodecHeader
Byte
maxDocint64
TableSizePackedInts
BlockPackedWriter(blockSize=16k)
vInt
CodecFooter
Constructor and Description |
---|
Lucene49NormsFormat()
Sole Constructor
|
Modifier and Type | Method and Description |
---|---|
DocValuesConsumer |
normsConsumer(SegmentWriteState state)
Returns a
DocValuesConsumer to write norms to the
index. |
DocValuesProducer |
normsProducer(SegmentReadState state)
Returns a
DocValuesProducer to read norms from the index. |
public DocValuesConsumer normsConsumer(SegmentWriteState state) throws IOException
NormsFormat
DocValuesConsumer
to write norms to the
index.normsConsumer
in class NormsFormat
IOException
public DocValuesProducer normsProducer(SegmentReadState state) throws IOException
NormsFormat
DocValuesProducer
to read norms from the index.
NOTE: by the time this call returns, it must hold open any files it will need to use; else, those files may be deleted. Additionally, required files may be deleted during the execution of this call before there is a chance to open them. Under these circumstances an IOException should be thrown by the implementation. IOExceptions are expected and will automatically cause a retry of the segment opening logic with the newly revised segments.
normsProducer
in class NormsFormat
IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.