Class Lucene80NormsFormat
- java.lang.Object
-
- org.apache.lucene.codecs.NormsFormat
-
- org.apache.lucene.codecs.lucene80.Lucene80NormsFormat
-
public class Lucene80NormsFormat extends NormsFormat
Lucene 8.0 Score normalization format.Encodes normalization values by encoding each value with the minimum number of bytes needed to represent the range (which can be zero).
Files:
- .nvd: Norms data
- .nvm: Norms metadata
-
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
- Header -->
IndexHeader
- Entry --> FieldNumber, DocsWithFieldAddress, DocsWithFieldLength, NumDocsWithField, BytesPerNorm, NormsAddress
- FieldNumber -->
Int32
- DocsWithFieldAddress -->
Int64
- DocsWithFieldLength -->
Int64
- NumDocsWithField -->
Int32
- BytesPerNorm -->
byte
- NormsAddress -->
Int64
- Footer -->
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.
- Header -->
-
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
- Header -->
IndexHeader
- DocsWithFieldData -->
Bit set of MaxDoc bits
- NormsData -->
byte
NumDocsWithField * BytesPerValue - Footer -->
CodecFooter
- Header -->
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
DATA_CODEC
private static java.lang.String
DATA_EXTENSION
private static java.lang.String
METADATA_CODEC
private static java.lang.String
METADATA_EXTENSION
(package private) static int
VERSION_CURRENT
(package private) static int
VERSION_START
-
Constructor Summary
Constructors Constructor Description Lucene80NormsFormat()
Sole Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NormsConsumer
normsConsumer(SegmentWriteState state)
Returns aNormsConsumer
to write norms to the index.NormsProducer
normsProducer(SegmentReadState state)
Returns aNormsProducer
to read norms from the index.
-
-
-
Field Detail
-
DATA_CODEC
private static final java.lang.String DATA_CODEC
- See Also:
- Constant Field Values
-
DATA_EXTENSION
private static final java.lang.String DATA_EXTENSION
- See Also:
- Constant Field Values
-
METADATA_CODEC
private static final java.lang.String METADATA_CODEC
- See Also:
- Constant Field Values
-
METADATA_EXTENSION
private static final java.lang.String METADATA_EXTENSION
- See Also:
- Constant Field Values
-
VERSION_START
static final int VERSION_START
- See Also:
- Constant Field Values
-
VERSION_CURRENT
static final int VERSION_CURRENT
- See Also:
- Constant Field Values
-
-
Method Detail
-
normsConsumer
public NormsConsumer normsConsumer(SegmentWriteState state) throws java.io.IOException
Description copied from class:NormsFormat
Returns aNormsConsumer
to write norms to the index.- Specified by:
normsConsumer
in classNormsFormat
- Throws:
java.io.IOException
-
normsProducer
public NormsProducer normsProducer(SegmentReadState state) throws java.io.IOException
Description copied from class:NormsFormat
Returns aNormsProducer
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.
- Specified by:
normsProducer
in classNormsFormat
- Throws:
java.io.IOException
-
-