Package org.apache.lucene.codecs

# Class NormsProducer

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public abstract class NormsProducer extends Object implements Closeable
Abstract API that produces field normalization values

WARNING: This API is experimental and might change in incompatible ways in the next release.

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `checkIntegrity()`
  Checks consistency of this producer
  `NormsProducer`
  `getMergeInstance()`
  Returns an instance optimized for merging.
  `abstract NumericDocValues`
  `getNorms(FieldInfo field)`
  Returns `NumericDocValues` for this field.

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

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

  ### Methods inherited from interface java.io.Closeable

  `close`

- ## Constructor Details

  - ### NormsProducer

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

- ## Method Details

  - ### getNorms

    public abstract NumericDocValues getNorms(FieldInfo field) throws IOException
    Returns `NumericDocValues` for this field. The returned instance need not be thread-safe: it will only be used by a single thread. The behavior is undefined if the given field doesn't have norms enabled on its `FieldInfo`. The return value is never `null`.
    Throws:
      `IOException`

  - ### checkIntegrity

    public abstract void checkIntegrity() throws IOException
    Checks consistency of this producer

    Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.

    Throws:
      `IOException`
    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

  - ### getMergeInstance

    public NormsProducer getMergeInstance()
    Returns an instance optimized for merging. This instance may only be used from the thread that acquires it.

    The default implementation returns `this`