Package org.apache.lucene.backward_codecs.lucene70

## Class Lucene70NormsFormat

- java.lang.Object
- - org.apache.lucene.codecs.NormsFormat
  - - org.apache.lucene.backward_codecs.lucene70.Lucene70NormsFormat

-     public class Lucene70NormsFormat
      extends NormsFormat

  Lucene 7.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:

  1. `.nvd`: Norms data
  2. `.nvm`: Norms metadata

  1. 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.

  2. 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`
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Lucene70NormsFormat()` | Sole Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `NormsConsumer` | `normsConsumer​(SegmentWriteState state)` |
    `NormsProducer` | `normsProducer​(SegmentReadState state)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Lucene70NormsFormat

          public Lucene70NormsFormat()

      Sole Constructor

  - ### Method Detail

    - #### normsConsumer

          public NormsConsumer normsConsumer​(SegmentWriteState state)
                                      throws IOException

      Specified by:
        `normsConsumer` in class `NormsFormat`
      Throws:
        `IOException`

    - #### normsProducer

          public NormsProducer normsProducer​(SegmentReadState state)
                                      throws IOException

      Specified by:
        `normsProducer` in class `NormsFormat`
      Throws:
        `IOException`