Class SegmentCommitInfo

java.lang.Object
org.apache.lucene.index.SegmentCommitInfo

public class SegmentCommitInfo extends Object
Embeds a [read-only] SegmentInfo and adds per-commit fields.
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

  • Constructor Details

    • SegmentCommitInfo

      public SegmentCommitInfo(SegmentInfo info, int delCount, int softDelCount, long delGen, long fieldInfosGen, long docValuesGen, byte[] id)
      Sole constructor.
      Parameters:
      info - SegmentInfo that we wrap
      delCount - number of deleted documents in this segment
      delGen - deletion generation number (used to name deletion files)
      fieldInfosGen - FieldInfos generation number (used to name field-infos files)
      docValuesGen - DocValues generation number (used to name doc-values updates files)
      id - Id that uniquely identifies this segment commit. This id must be 16 bytes long. See StringHelper.randomId()
  • Method Details

    • getDocValuesUpdatesFiles

      public Map<Integer,Set<String>> getDocValuesUpdatesFiles()
      Returns the per-field DocValues updates files.
    • setDocValuesUpdatesFiles

      public void setDocValuesUpdatesFiles(Map<Integer,Set<String>> dvUpdatesFiles)
      Sets the DocValues updates file names, per field number. Does not deep clone the map.
    • getFieldInfosFiles

      public Set<String> getFieldInfosFiles()
      Returns the FieldInfos file names.
    • setFieldInfosFiles

      public void setFieldInfosFiles(Set<String> fieldInfosFiles)
      Sets the FieldInfos file names.
    • sizeInBytes

      public long sizeInBytes() throws IOException
      Returns total size in bytes of all files for this segment.
      Throws:
      IOException
    • files

      public Collection<String> files() throws IOException
      Returns all files in use by this segment.
      Throws:
      IOException
    • hasDeletions

      public boolean hasDeletions()
      Returns true if there are any deletions for the segment at this commit.
    • hasFieldUpdates

      public boolean hasFieldUpdates()
      Returns true if there are any field updates for the segment in this commit.
    • getNextFieldInfosGen

      public long getNextFieldInfosGen()
      Returns the next available generation number of the FieldInfos files.
    • getFieldInfosGen

      public long getFieldInfosGen()
      Returns the generation number of the field infos file or -1 if there are no field updates yet.
    • getNextDocValuesGen

      public long getNextDocValuesGen()
      Returns the next available generation number of the DocValues files.
    • getDocValuesGen

      public long getDocValuesGen()
      Returns the generation number of the DocValues file or -1 if there are no doc-values updates yet.
    • getNextDelGen

      public long getNextDelGen()
      Returns the next available generation number of the live docs file.
    • getDelGen

      public long getDelGen()
      Returns generation number of the live docs file or -1 if there are no deletes yet.
    • getDelCount

      public int getDelCount()
      Returns the number of deleted docs in the segment.
    • getSoftDelCount

      public int getSoftDelCount()
      Returns the number of only soft-deleted docs.
    • toString

      public String toString(int pendingDelCount)
      Returns a description of this segment.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • clone

      public SegmentCommitInfo clone()
      Overrides:
      clone in class Object
    • getId

      public byte[] getId()
      Returns and Id that uniquely identifies this segment commit or null if there is no ID assigned. This ID changes each time the the segment changes due to a delete, doc-value or field update.