public class Lucene80NormsFormat extends NormsFormat
Encodes normalization values by encoding each value with the minimum number of bytes needed to represent the range (which can be zero).
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
Int32
Int64
Int64
Int32
byte
Int64
CodecFooter
FieldNumber of -1 indicates the end of metadata.
NormsAddress is the pointer to the start of the data in the norms data (.nvd), or the singleton value when BytesPerValue = 0. If BytesPerValue is different from 0 then there are NumDocsWithField values to read at that offset.
DocsWithFieldAddress is the pointer to the start of the bit set containing documents that have a norm in the norms data (.nvd), or -2 if no documents have a norm value, or -1 if all documents have a norm value.
DocsWithFieldLength is the number of bytes used to encode the set of documents that have a norm.
The Norms data or .nvd file.
For each Norms field, this stores the actual per-document data (the heavy-lifting)
Norms data (.nvd) --> Header,< Data >NumFields,Footer
IndexHeader
Bit set of MaxDoc bits
byte
NumDocsWithField * BytesPerValueCodecFooter
Constructor and Description |
---|
Lucene80NormsFormat()
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
NormsFormat
NormsConsumer
to write norms to the
index.normsConsumer
in class NormsFormat
public NormsProducer normsProducer(SegmentReadState state) throws
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
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.