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

      • fieldInfo

        protected final FieldInfo fieldInfo
      • isMutable

        protected final boolean isMutable
      • 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
    • Constructor Detail

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

      • updateStats

        public void updateStats​(BlockTermState state)
        Updates the field stats with the given BlockTermState for the current block line (for one term).
      • 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()