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 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, long dvGen, Map<String,String> attributes, int pointDimensionCount, int pointIndexDimensionCount, int pointNumBytes, int vectorDimension, VectorSimilarityFunction vectorSimilarityFunction, boolean softDeletesField)
      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
      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
    • 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
    • getFieldNumber

      public int getFieldNumber()
      Returns the field number
      field number
    • 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.
    • 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