Class SegmentInfo

  • All Implemented Interfaces:
    Cloneable

    public final class SegmentInfo
    extends Object
    implements Cloneable
    Information about a segment such as it's name, directory, and files related to the segment.
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Field Detail

      • docCount

        public int docCount
    • Constructor Detail

      • SegmentInfo

        public SegmentInfo​(String name,
                           int docCount,
                           Directory dir,
                           boolean isCompoundFile,
                           boolean hasSingleNormFile,
                           boolean hasProx,
                           boolean hasVectors)
    • Method Detail

      • sizeInBytes

        public long sizeInBytes​(boolean includeDocStores)
                         throws IOException
        Returns total size in bytes of all of files used by this segment (if includeDocStores is true), or the size of all files except the store files otherwise.
        Throws:
        IOException
      • setHasVectors

        public void setHasVectors​(boolean v)
      • getDelFileName

        public String getDelFileName()
      • hasSeparateNorms

        public boolean hasSeparateNorms​(int fieldNumber)
                                 throws IOException
        Returns true if this field for this segment has saved a separate norms file (__N.sX).
        Parameters:
        fieldNumber - the field index to check
        Throws:
        IOException
      • hasSeparateNorms

        public boolean hasSeparateNorms()
                                 throws IOException
        Returns true if any fields in this segment have separate norms.
        Throws:
        IOException
      • getNormFileName

        public String getNormFileName​(int number)
                               throws IOException
        Get the file name for the norms file for this field.
        Parameters:
        number - field index
        Throws:
        IOException
      • getUseCompoundFile

        public boolean getUseCompoundFile()
                                   throws IOException
        Returns true if this segment is stored as a compound file; else, false.
        Throws:
        IOException
      • getDocStoreOffset

        public int getDocStoreOffset()
      • getDocStoreIsCompoundFile

        public boolean getDocStoreIsCompoundFile()
      • getDocStoreSegment

        public String getDocStoreSegment()
      • setDocStoreSegment

        public void setDocStoreSegment​(String segment)
      • getHasProx

        public boolean getHasProx()
      • toString

        public String toString​(Directory dir,
                               int pendingDelCount)
        Used for debugging. Format may suddenly change.

        Current format looks like _a(3.1):c45/4->_1, which means the segment's name is _a; it was created with Lucene 3.1 (or '?' if it's unkown); it's using compound file format (would be C if not compound); it has 45 documents; it has 4 deletions (this part is left off when there are no deletions); it's using the shared doc stores named _1 (this part is left off if doc stores are private).

      • equals

        public boolean equals​(Object obj)
        We consider another SegmentInfo instance equal if it has the same dir and same name.
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getVersion

        public String getVersion()
        Returns the version of the code which wrote the segment.