public class Lucene50NormsFormat 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
IndexHeader
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 | MonotonicCompressed >NumFields,Footer
IndexHeader
Byte
maxDocint64
TableSizePackedInts
BlockPackedWriter(blockSize=16k)
MonotonicBlockPackedWriter(blockSize=16k)
vInt
CodecFooter
Constructor and Description |
---|
Lucene50NormsFormat()
Sole Constructor
|
Modifier and Type | Method and Description |
---|---|
NormsConsumer |
normsConsumer(SegmentWriteState state)
Returns a
NormsConsumer to write norms to the
index. |
NormsProducer |
normsProducer(SegmentReadState state)
Returns a
NormsProducer to read norms from the index. |
public NormsConsumer normsConsumer(SegmentWriteState state) throws IOException
NormsFormat
NormsConsumer
to write norms to the
index.normsConsumer
in class NormsFormat
IOException
public NormsProducer normsProducer(SegmentReadState state) throws IOException
NormsFormat
NormsProducer
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-2015 Apache Software Foundation. All Rights Reserved.