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 Details

    • name

      public final String name
      Field's name
    • number

      public final int number
      Internal field number
    • docValuesType

      private DocValuesType docValuesType
    • storeTermVector

      private boolean storeTermVector
    • omitNorms

      private boolean omitNorms
    • indexOptions

      private IndexOptions indexOptions
    • storePayloads

      private boolean storePayloads
    • attributes

      private final Map<String,String> attributes
    • dvGen

      private long dvGen
    • pointDimensionCount

      private int pointDimensionCount
      If both of these are positive it means this field indexed points (see PointsFormat).
    • pointIndexDimensionCount

      private int pointIndexDimensionCount
    • pointNumBytes

      private int pointNumBytes
    • softDeletesField

      private final boolean softDeletesField
  • Constructor Details

    • 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.
  • Method Details

    • checkConsistency

      public boolean checkConsistency()
      Performs internal consistency checks. Always returns true (or throws IllegalStateException)
    • update

      void update(boolean storeTermVector, boolean omitNorms, boolean storePayloads, IndexOptions indexOptions, Map<String,String> attributes, int dimensionCount, int indexDimensionCount, int dimensionNumBytes)
    • 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.
    • setDocValuesGen

      void setDocValuesGen(long dvGen)
      Sets the docValues generation of this field.
    • getDocValuesGen

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

      void setStoreTermVectors()
    • setStorePayloads

      void setStorePayloads()
    • 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