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`