Class SegmentInfo

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

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

    • NO

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

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

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

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

    • SegmentInfo

      public SegmentInfo(Directory dir, String version, String name, int docCount, boolean isCompoundFile, Codec codec, Map<String,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, String version, String name, int docCount, boolean isCompoundFile, Codec codec, Map<String,String> diagnostics, Map<String,String> attributes)
      Construct a new complete SegmentInfo instance from input.

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

  • Method Details

    • getDiagnostics

      public Map<String,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 Set<String> files()
      Return all files referenced by this SegmentInfo.
    • toString

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

      public 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(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
    • setVersion

      public void setVersion(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 String getVersion()
      Returns the version of the code which wrote the segment.
    • setFiles

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

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

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

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

      @Deprecated public String putAttribute(String key, 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 Map<String,String> attributes()
      Deprecated.
      no longer supported
      Returns the internal codec attributes map.
      Returns:
      internal codec attributes map. May be null if no mappings exist.