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 and Description
    --- | ---
    `String` | `name` Field's name
    `int` | `number` Internal field number

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FieldInfo(String name, int number, boolean storeTermVector, boolean omitNorms, boolean storePayloads, IndexOptions indexOptions, DocValuesType docValues, long dvGen, Map<String,String> attributes, int pointDimensionCount, int pointIndexDimensionCount, int pointNumBytes, boolean softDeletesField)` Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,String>` | `attributes()` Returns internal codec attributes map.
    `boolean` | `checkConsistency()` Performs internal consistency checks.
    `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.
    `IndexOptions` | `getIndexOptions()` Returns IndexOptions for the field, or IndexOptions.NONE if the field is not indexed
    `int` | `getPointDimensionCount()` Return point data dimension count
    `int` | `getPointIndexDimensionCount()` Return point data dimension count
    `int` | `getPointNumBytes()` Return number of bytes per dimension
    `boolean` | `hasNorms()` Returns true if this field actually has any norms.
    `boolean` | `hasPayloads()` Returns true if any payloads exist for this field.
    `boolean` | `hasVectors()` Returns true if any term vectors exist for this 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` | `setIndexOptions(IndexOptions newIndexOptions)` Record the `IndexOptions` to use with this field.
    `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 Detail

    - #### name

          public final String name

      Field's name

    - #### number

          public final int number

      Internal field number

  - ### Constructor Detail

    - #### FieldInfo

          public FieldInfo(String name,
                           int number,
                           boolean storeTermVector,
                           boolean omitNorms,
                           boolean storePayloads,
                           IndexOptions indexOptions,
                           DocValuesType docValues,
                           long dvGen,
                           Map<String,String> attributes,
                           int pointDimensionCount,
                           int pointIndexDimensionCount,
                           int pointNumBytes,
                           boolean softDeletesField)

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

  - ### Method Detail

    - #### checkConsistency

          public boolean checkConsistency()

      Performs internal consistency checks. Always returns true (or throws IllegalStateException)

    - #### 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

    - #### 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

    - #### setIndexOptions

          public void setIndexOptions(IndexOptions newIndexOptions)

      Record the `IndexOptions` to use with this field.

    - #### getDocValuesType

          public DocValuesType getDocValuesType()

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

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

    - #### hasVectors

          public boolean hasVectors()

      Returns true if any term vectors 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`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.