Class 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.
    • Constructor Detail

      • SegmentCommitInfo

        public SegmentCommitInfo​(SegmentInfo info,
                                 int delCount,
                                 int softDelCount,
                                 long delGen,
                                 long fieldInfosGen,
                                 long docValuesGen)
        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)
    • Method Detail

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