Package org.apache.lucene.index

# Class FieldInfo

java.lang.Object
org.apache.lucene.index.FieldInfo

public final class FieldInfo extends Object
Access to the Field Info file that describes document fields and whether or not they are indexed. Each segment has a separate Field Info file. Objects of this class are thread-safe for multiple readers, but only one thread can be adding documents at a time, with no other reader or writer threads accessing this object.

## Field Summary

Fields
Modifier and Type
Field
Description
`final String`
`name`
Field's name
`final int`
`number`
Internal field number

## Constructor Summary

Constructors
Constructor
Description
`FieldInfo(String name, int number, boolean storeTermVector, boolean omitNorms, boolean storePayloads, IndexOptions indexOptions, DocValuesType docValues, DocValuesSkipIndexType docValuesSkipIndex, long dvGen, Map<String,String> attributes, int pointDimensionCount, int pointIndexDimensionCount, int pointNumBytes, int vectorDimension, VectorEncoding vectorEncoding, VectorSimilarityFunction vectorSimilarityFunction, boolean softDeletesField, boolean isParentField)`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`Map<String,String>`
`attributes()`
Returns internal codec attributes map.
`void`
`checkConsistency()`
Check correctness of the FieldInfo options
`DocValuesSkipIndexType`
`docValuesSkipIndexType()`
Returns true if, and only if, this field has a skip index.
`String`
`getAttribute(String key)`
Get a codec attribute value, or null if it does not exist
`long`
`getDocValuesGen()`
Returns the docValues generation of this field, or -1 if no docValues updates exist for it.
`DocValuesType`
`getDocValuesType()`
Returns `DocValuesType` of the docValues; this is `DocValuesType.NONE` if the field has no docvalues.
`int`
`getFieldNumber()`
Returns the field number
`IndexOptions`
`getIndexOptions()`
Returns IndexOptions for the field, or IndexOptions.NONE if the field is not indexed
`String`
`getName()`
Returns name of this field
`int`
`getPointDimensionCount()`
Return point data dimension count
`int`
`getPointIndexDimensionCount()`
Return point data dimension count
`int`
`getPointNumBytes()`
Return number of bytes per dimension
`int`
`getVectorDimension()`
Returns the number of dimensions of the vector value
`VectorEncoding`
`getVectorEncoding()`
Returns the number of dimensions of the vector value
`VectorSimilarityFunction`
`getVectorSimilarityFunction()`
Returns `VectorSimilarityFunction` for the field
`boolean`
`hasNorms()`
Returns true if this field actually has any norms.
`boolean`
`hasPayloads()`
Returns true if any payloads exist for this field.
`boolean`
`hasTermVectors()`
Returns true if any term vectors exist for this field.
`boolean`
`hasVectorValues()`
Returns whether any (numeric) vector values exist for this field
`boolean`
`isParentField()`
Returns true if this field is configured and used as the parent document field field.
`boolean`
`isSoftDeletesField()`
Returns true if this field is configured and used as the soft-deletes field.
`boolean`
`omitsNorms()`
Returns true if norms are explicitly omitted for this field
`String`
`putAttribute(String key, String value)`
Puts a codec attribute value.
`void`
`setDocValuesType(DocValuesType type)`
Record that this field is indexed with docvalues, with the specified type
`void`
`setOmitsNorms()`
Omit norms for this field.
`void`
`setPointDimensions(int dimensionCount, int indexDimensionCount, int numBytes)`
Record that this field is indexed with points, with the specified number of dimensions and bytes per dimension.

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

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

## Field Details

### name

public final String name
Field's name

### number

public final int number
Internal field number

## Constructor Details

### FieldInfo

public FieldInfo(String name, int number, boolean storeTermVector, boolean omitNorms, boolean storePayloads, IndexOptions indexOptions, DocValuesType docValues, DocValuesSkipIndexType docValuesSkipIndex, long dvGen, Map<String,String> attributes, int pointDimensionCount, int pointIndexDimensionCount, int pointNumBytes, int vectorDimension, VectorEncoding vectorEncoding, VectorSimilarityFunction vectorSimilarityFunction, boolean softDeletesField, boolean isParentField)
Sole constructor.

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

## Method Details

### checkConsistency

public void checkConsistency()
Check correctness of the FieldInfo options

Throws:
  `IllegalArgumentException` - if some options are incorrect

### setPointDimensions

public void setPointDimensions(int dimensionCount, int indexDimensionCount, int numBytes)
Record that this field is indexed with points, with the specified number of dimensions and bytes per dimension.

### getPointDimensionCount

public int getPointDimensionCount()
Return point data dimension count

### getPointIndexDimensionCount

public int getPointIndexDimensionCount()
Return point data dimension count

### getPointNumBytes

public int getPointNumBytes()
Return number of bytes per dimension

### getVectorDimension

public int getVectorDimension()
Returns the number of dimensions of the vector value

### getVectorEncoding

public VectorEncoding getVectorEncoding()
Returns the number of dimensions of the vector value

### getVectorSimilarityFunction

public VectorSimilarityFunction getVectorSimilarityFunction()
Returns `VectorSimilarityFunction` for the field

### setDocValuesType

public void setDocValuesType(DocValuesType type)
Record that this field is indexed with docvalues, with the specified type

### getIndexOptions

public IndexOptions getIndexOptions()
Returns IndexOptions for the field, or IndexOptions.NONE if the field is not indexed

### getName

public String getName()
Returns name of this field

Returns:
  name

### getFieldNumber

public int getFieldNumber()
Returns the field number

Returns:
  field number

### getDocValuesType

public DocValuesType getDocValuesType()
Returns `DocValuesType` of the docValues; this is `DocValuesType.NONE` if the field has no docvalues.

### docValuesSkipIndexType

public DocValuesSkipIndexType docValuesSkipIndexType()
Returns true if, and only if, this field has a skip index.

### getDocValuesGen

public long getDocValuesGen()
Returns the docValues generation of this field, or -1 if no docValues updates exist for it.

### omitsNorms

public boolean omitsNorms()
Returns true if norms are explicitly omitted for this field

### setOmitsNorms

public void setOmitsNorms()
Omit norms for this field.

### hasNorms

public boolean hasNorms()
Returns true if this field actually has any norms.

### hasPayloads

public boolean hasPayloads()
Returns true if any payloads exist for this field.

### hasTermVectors

public boolean hasTermVectors()
Returns true if any term vectors exist for this field.

### hasVectorValues

public boolean hasVectorValues()
Returns whether any (numeric) vector values exist for this field

### getAttribute

public String getAttribute(String key)
Get a codec attribute value, or null if it does not exist

### putAttribute

public String putAttribute(String key, String value)
Puts a codec attribute value.

This is a key-value mapping for the field that the codec can use to store additional metadata, and will be available to the codec when reading the segment via `getAttribute(String)`

If a value already exists for the key in the field, it will be replaced with the new value. If the value of the attributes for a same field is changed between the documents, the behaviour after merge is undefined.

### attributes

public Map<String,String> attributes()
Returns internal codec attributes map.

### isSoftDeletesField

public boolean isSoftDeletesField()
Returns true if this field is configured and used as the soft-deletes field. See `LiveIndexWriterConfig.softDeletesField`

### isParentField

public boolean isParentField()
Returns true if this field is configured and used as the parent document field field. See `IndexWriterConfig.setParentField(String)`