Class SegmentInfo


  • public final class SegmentInfo
    extends java.lang.Object
    Information about a segment such as it's name, directory, and files related to the segment.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      Directory dir
      Where this segment resides.
      java.lang.String name
      Unique segment name in the directory.
      static int NO
      Used by some member fields to mean not present (e.g., norms, deletions).
      static int YES
      Used by some member fields to mean present (e.g., norms, deletions).
    • Constructor Summary

      Constructors 
      Constructor Description
      SegmentInfo​(Directory dir, java.lang.String version, java.lang.String name, int docCount, boolean isCompoundFile, Codec codec, java.util.Map<java.lang.String,​java.lang.String> diagnostics)
      Construct a new complete SegmentInfo instance from input.
      SegmentInfo​(Directory dir, java.lang.String version, java.lang.String name, int docCount, boolean isCompoundFile, Codec codec, java.util.Map<java.lang.String,​java.lang.String> diagnostics, java.util.Map<java.lang.String,​java.lang.String> attributes)
      Construct a new complete SegmentInfo instance from input.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addFile​(java.lang.String file)
      Add this file to the set of files written for this segment.
      void addFiles​(java.util.Collection<java.lang.String> files)
      Add these files to the set of files written for this segment.
      java.util.Map<java.lang.String,​java.lang.String> attributes()
      Deprecated.
      no longer supported
      boolean equals​(java.lang.Object obj)
      We consider another SegmentInfo instance equal if it has the same dir and same name.
      java.util.Set<java.lang.String> files()
      Return all files referenced by this SegmentInfo.
      java.lang.String getAttribute​(java.lang.String key)
      Deprecated.
      no longer supported
      Codec getCodec()
      Return Codec that wrote this segment.
      java.util.Map<java.lang.String,​java.lang.String> getDiagnostics()
      Returns diagnostics saved into the segment when it was written.
      int getDocCount()
      Returns number of documents in this segment (deletions are not taken into account).
      boolean getUseCompoundFile()
      Returns true if this segment is stored as a compound file; else, false.
      java.lang.String getVersion()
      Returns the version of the code which wrote the segment.
      int hashCode()  
      java.lang.String putAttribute​(java.lang.String key, java.lang.String value)
      Deprecated.
      no longer supported
      void setCodec​(Codec codec)
      Can only be called once.
      void setFiles​(java.util.Set<java.lang.String> files)
      Sets the files written for this segment.
      void setVersion​(java.lang.String version)
      Used by DefaultSegmentInfosReader to upgrade a 3.0 segment to record its version is "3.0".
      java.lang.String toString()  
      java.lang.String toString​(Directory dir, int delCount)
      Used for debugging.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • NO

        public static final int NO
        Used by some member fields to mean not present (e.g., norms, deletions).
        See Also:
        Constant Field Values
      • YES

        public static final int YES
        Used by some member fields to mean present (e.g., norms, deletions).
        See Also:
        Constant Field Values
      • name

        public final java.lang.String name
        Unique segment name in the directory.
      • dir

        public final Directory dir
        Where this segment resides.
    • Constructor Detail

      • SegmentInfo

        public SegmentInfo​(Directory dir,
                           java.lang.String version,
                           java.lang.String name,
                           int docCount,
                           boolean isCompoundFile,
                           Codec codec,
                           java.util.Map<java.lang.String,​java.lang.String> diagnostics)
        Construct a new complete SegmentInfo instance from input.

        Note: this is public only to allow access from the codecs package.

      • SegmentInfo

        public SegmentInfo​(Directory dir,
                           java.lang.String version,
                           java.lang.String name,
                           int docCount,
                           boolean isCompoundFile,
                           Codec codec,
                           java.util.Map<java.lang.String,​java.lang.String> diagnostics,
                           java.util.Map<java.lang.String,​java.lang.String> attributes)
        Construct a new complete SegmentInfo instance from input.

        Note: this is public only to allow access from the codecs package.

    • Method Detail

      • getDiagnostics

        public java.util.Map<java.lang.String,​java.lang.String> getDiagnostics()
        Returns diagnostics saved into the segment when it was written.
      • getUseCompoundFile

        public boolean getUseCompoundFile()
        Returns true if this segment is stored as a compound file; else, false.
      • setCodec

        public void setCodec​(Codec codec)
        Can only be called once.
      • getCodec

        public Codec getCodec()
        Return Codec that wrote this segment.
      • getDocCount

        public int getDocCount()
        Returns number of documents in this segment (deletions are not taken into account).
      • files

        public java.util.Set<java.lang.String> files()
        Return all files referenced by this SegmentInfo.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

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

        Current format looks like _a(3.1):c45/4, which means the segment's name is _a; it was created with Lucene 3.1 (or '?' if it's unknown); 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).

      • equals

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

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • setVersion

        public void setVersion​(java.lang.String version)
        Used by DefaultSegmentInfosReader to upgrade a 3.0 segment to record its version is "3.0". This method can be removed when we're not required to support 3x indexes anymore, e.g. in 5.0.

        NOTE: this method is used for internal purposes only - you should not modify the version of a SegmentInfo, or it may result in unexpected exceptions thrown when you attempt to open the index.

      • getVersion

        public java.lang.String getVersion()
        Returns the version of the code which wrote the segment.
      • setFiles

        public void setFiles​(java.util.Set<java.lang.String> files)
        Sets the files written for this segment.
      • addFiles

        public void addFiles​(java.util.Collection<java.lang.String> files)
        Add these files to the set of files written for this segment.
      • addFile

        public void addFile​(java.lang.String file)
        Add this file to the set of files written for this segment.
      • getAttribute

        @Deprecated
        public java.lang.String getAttribute​(java.lang.String key)
        Deprecated.
        no longer supported
        Get a codec attribute value, or null if it does not exist
      • putAttribute

        @Deprecated
        public java.lang.String putAttribute​(java.lang.String key,
                                             java.lang.String value)
        Deprecated.
        no longer supported
        Puts a codec attribute value.

        This is a key-value mapping for the field that the codec can use to store additional metadata, and will be available to the codec when reading the segment via getAttribute(String)

        If a value already exists for the field, it will be replaced with the new value.

      • attributes

        @Deprecated
        public java.util.Map<java.lang.String,​java.lang.String> attributes()
        Deprecated.
        no longer supported
        Returns the internal codec attributes map.
        Returns:
        internal codec attributes map. May be null if no mappings exist.