org.apache.lucene.codecs.uniformsplit

## Class FieldMetadata

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

- All Implemented Interfaces:
    Accountable

      public class FieldMetadata
      extends Object
      implements Accountable

  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.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `FieldMetadata.Serializer` Reads/writes field metadata.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected long` | `dictionaryStartFP`
    `protected int` | `docCount`
    `protected FixedBitSet` | `docsSeen`
    `protected FieldInfo` | `fieldInfo`
    `protected long` | `firstBlockStartFP`
    `protected boolean` | `isMutable`
    `protected long` | `lastBlockStartFP`
    `protected BytesRef` | `lastTerm`
    `protected long` | `numTerms`
    `protected long` | `sumDocFreq`
    `protected long` | `sumTotalTermFreq`

    - ### Fields inherited from interface org.apache.lucene.util.Accountable

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `FieldMetadata(FieldInfo fieldInfo, int maxDoc)` Constructs field metadata for writing.
    `protected` | `FieldMetadata(FieldInfo fieldInfo, int maxDoc, boolean isMutable)` Constructs field metadata for reading or writing.
    `` | `FieldMetadata(long dictionaryStartFP, long firstBlockStartFP, long lastBlockStartFP, BytesRef lastTerm)` Constructs immutable virtual field metadata for reading.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getDictionaryStartFP()`
    `int` | `getDocCount()`
    `FixedBitSet` | `getDocsSeen()` Provides the `FixedBitSet` to keep track of the docs seen when calling `PostingsWriterBase.writeTerm(BytesRef, TermsEnum, FixedBitSet, org.apache.lucene.codecs.NormsProducer)`.
    `FieldInfo` | `getFieldInfo()`
    `long` | `getFirstBlockStartFP()`
    `long` | `getLastBlockStartFP()`
    `BytesRef` | `getLastTerm()`
    `long` | `getNumTerms()`
    `long` | `getSumDocFreq()`
    `long` | `getSumTotalTermFreq()`
    `long` | `ramBytesUsed()`
    `void` | `setDictionaryStartFP(long dictionaryStartFP)` Sets the file pointer to the start of the dictionary of the field.
    `void` | `setFirstBlockStartFP(long firstBlockStartFP)` Sets the file pointer to the start of the first block of the field.
    `void` | `setLastBlockStartFP(long lastBlockStartFP)` Sets the file pointer after the end of the last block of the field.
    `void` | `setLastTerm(BytesRef lastTerm)`
    `void` | `updateStats(BlockTermState state)` Updates the field stats with the given `BlockTermState` for the current block line (for one term).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.lucene.util.Accountable

      `getChildResources`

- - ### Field Detail

    - #### 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 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).

    - #### 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()

    - #### ramBytesUsed

          public long ramBytesUsed()

      Specified by:
        `ramBytesUsed` in interface `Accountable`

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.