Class 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 Detail

      • name

        public final String name
        Field's name
      • number

        public final int number
        Internal field number
    • Method Detail

      • getIndexOptions

        public FieldInfo.IndexOptions getIndexOptions()
        Returns IndexOptions for the field, or null if the field is not indexed
      • hasDocValues

        public boolean hasDocValues()
        Returns true if this field has any docValues.
      • setDocValuesGen

        public 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.
      • omitsNorms

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

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

        public boolean isIndexed()
        Returns true if this field is indexed.
      • 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 field, it will be replaced with the new value.

      • attributes

        public Map<String,​String> attributes()
        Returns internal codec attributes map. May be null if no mappings exist.