Class FieldMetadata

java.lang.Object
org.apache.lucene.codecs.uniformsplit.FieldMetadata

public class FieldMetadata extends Object
Metadata and stats for one field in the index.

There is only one instance of FieldMetadata per FieldInfo.

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

    • fieldInfo

      protected final FieldInfo fieldInfo
    • isMutable

      protected final boolean isMutable
    • docsSeen

      protected final FixedBitSet docsSeen
    • sumDocFreq

      protected long sumDocFreq
    • numTerms

      protected long numTerms
    • sumTotalTermFreq

      protected long sumTotalTermFreq
    • docCount

      protected int docCount
    • dictionaryStartFP

      protected long dictionaryStartFP
    • firstBlockStartFP

      protected long firstBlockStartFP
    • lastBlockStartFP

      protected long lastBlockStartFP
    • lastTerm

      protected BytesRef lastTerm
  • Constructor Details

    • FieldMetadata

      public FieldMetadata(FieldInfo fieldInfo, int maxDoc)
      Constructs field metadata for writing.
      Parameters:
      maxDoc - The total number of documents in the segment being written.
    • FieldMetadata

      public FieldMetadata(long dictionaryStartFP, long firstBlockStartFP, long lastBlockStartFP, BytesRef lastTerm)
      Constructs immutable virtual field metadata for reading.
    • FieldMetadata

      protected FieldMetadata(FieldInfo fieldInfo, int maxDoc, boolean isMutable)
      Constructs field metadata for reading or writing.
      Parameters:
      maxDoc - The total number of documents in the segment being written.
      isMutable - Set true if this FieldMetadata is created for writing the index. Set false if it is used for reading the index.
  • Method Details

    • updateStats

      public void updateStats(BlockTermState state)
      Updates the field stats with the given BlockTermState for the current block line (for one term).
    • getDocsSeen

      public FixedBitSet getDocsSeen()
      Provides the FixedBitSet to keep track of the docs seen when calling PostingsWriterBase.writeTerm(BytesRef, TermsEnum, FixedBitSet, org.apache.lucene.codecs.NormsProducer).

      The returned FixedBitSet is created once in this FieldMetadata constructor.

      Returns:
      The FixedBitSet for the docs seen, during segment writing; or null if this FieldMetadata is created immutable during segment reading.
    • getFieldInfo

      public FieldInfo getFieldInfo()
    • getSumDocFreq

      public long getSumDocFreq()
    • getNumTerms

      public long getNumTerms()
    • getSumTotalTermFreq

      public long getSumTotalTermFreq()
    • getDocCount

      public int getDocCount()
    • getFirstBlockStartFP

      public long getFirstBlockStartFP()
      Returns:
      The file pointer to the start of the first block of the field.
    • setFirstBlockStartFP

      public void setFirstBlockStartFP(long firstBlockStartFP)
      Sets the file pointer to the start of the first block of the field.
    • getLastBlockStartFP

      public long getLastBlockStartFP()
      Returns:
      The start file pointer for the last block of the field.
    • setLastBlockStartFP

      public void setLastBlockStartFP(long lastBlockStartFP)
      Sets the file pointer after the end of the last block of the field.
    • getDictionaryStartFP

      public long getDictionaryStartFP()
      Returns:
      The file pointer to the start of the dictionary of the field.
    • setDictionaryStartFP

      public void setDictionaryStartFP(long dictionaryStartFP)
      Sets the file pointer to the start of the dictionary of the field.
    • setLastTerm

      public void setLastTerm(BytesRef lastTerm)
    • getLastTerm

      public BytesRef getLastTerm()