Package org.apache.lucene.codecs

# Class NormsFormat

java.lang.Object
org.apache.lucene.codecs.NormsFormat

Direct Known Subclasses:
  `Lucene90NormsFormat`

public abstract class NormsFormat extends Object
Encodes/decodes per-document score normalization values.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `NormsFormat()`
  Sole constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract NormsConsumer`
  `normsConsumer(SegmentWriteState state)`
  Returns a `NormsConsumer` to write norms to the index.
  `abstract NormsProducer`
  `normsProducer(SegmentReadState state)`
  Returns a `NormsProducer` to read norms from the index.

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

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

- ## Constructor Details

  - ### NormsFormat

    protected NormsFormat()
    Sole constructor. (For invocation by subclass constructors, typically implicit.)

- ## Method Details

  - ### normsConsumer

    public abstract NormsConsumer normsConsumer(SegmentWriteState state) throws IOException
    Returns a `NormsConsumer` to write norms to the index.
    Throws:
      `IOException`

  - ### normsProducer

    public abstract NormsProducer normsProducer(SegmentReadState state) throws IOException
    Returns a `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.

    Throws:
      `IOException`