Class SegmentInfo
- java.lang.Object
-
- org.apache.lucene.index.SegmentInfo
-
public final class SegmentInfo extends Object
Information about a segment such as its name, directory, and files related to the segment.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description Directory
dir
Where this segment resides.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, Version version, Version minVersion, String name, int maxDoc, boolean isCompoundFile, Codec codec, Map<String,String> diagnostics, byte[] id, Map<String,String> attributes, Sort indexSort)
Construct a new complete SegmentInfo instance from input.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDiagnostics(Map<String,String> diagnostics)
Adds or modifies this segment's diagnostics.void
addFile(String file)
Add this file to the set of files written for this segment.void
addFiles(Collection<String> files)
Add these files to the set of files written for this segment.boolean
equals(Object obj)
We consider another SegmentInfo instance equal if it has the same dir and same name.Set<String>
files()
Return all files referenced by this SegmentInfo.String
getAttribute(String key)
Get a codec attribute value, or null if it does not existMap<String,String>
getAttributes()
Returns the internal codec attributes map.Codec
getCodec()
ReturnCodec
that wrote this segment.Map<String,String>
getDiagnostics()
Returns diagnostics saved into the segment when it was written.byte[]
getId()
Return the id that uniquely identifies this segment.Sort
getIndexSort()
Return the sort order of this segment, or null if the index has no sort.Version
getMinVersion()
Return the minimum Lucene version that contributed documents to this segment, ornull
if it is unknown.boolean
getUseCompoundFile()
Returns true if this segment is stored as a compound file; else, false.Version
getVersion()
Returns the version of the code which wrote the segment.int
hashCode()
int
maxDoc()
Returns number of documents in this segment (deletions are not taken into account).String
putAttribute(String key, String value)
Puts a codec attribute value.void
setCodec(Codec codec)
Can only be called once.void
setFiles(Collection<String> files)
Sets the files written for this segment.String
toString()
String
toString(int delCount)
Used for debugging.
-
-
-
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 String name
Unique segment name in the directory.
-
dir
public final Directory dir
Where this segment resides.
-
-
Constructor Detail
-
SegmentInfo
public SegmentInfo(Directory dir, Version version, Version minVersion, String name, int maxDoc, boolean isCompoundFile, Codec codec, Map<String,String> diagnostics, byte[] id, Map<String,String> attributes, Sort indexSort)
Construct a new complete SegmentInfo instance from input.Note: this is public only to allow access from the codecs package.
-
-
Method Detail
-
addDiagnostics
public void addDiagnostics(Map<String,String> diagnostics)
Adds or modifies this segment's diagnostics.Entries in the given map whose keys are not present in the current diagnostics are added. Otherwise, existing entries are modified with the given map's value.
- Parameters:
diagnostics
- the additional diagnostics
-
getDiagnostics
public Map<String,String> getDiagnostics()
Returns diagnostics saved into the segment when it was written. The map is immutable.
-
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.
-
maxDoc
public int maxDoc()
Returns number of documents in this segment (deletions are not taken into account).
-
toString
public String toString(int delCount)
Used for debugging. Format may suddenly change.Current format looks like
_a(3.1):c45/4:[sorter=<long: "timestamp">!]
, 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 beC
if not compound); it has 45 documents; it has 4 deletions (this part is left off when there are no deletions); it is sorted by the timestamp field in descending order (this part is omitted for unsorted segments).
-
equals
public boolean equals(Object obj)
We consider another SegmentInfo instance equal if it has the same dir and same name.
-
getVersion
public Version getVersion()
Returns the version of the code which wrote the segment.
-
getMinVersion
public Version getMinVersion()
Return the minimum Lucene version that contributed documents to this segment, ornull
if it is unknown.
-
getId
public byte[] getId()
Return the id that uniquely identifies this segment.
-
setFiles
public void setFiles(Collection<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
public String getAttribute(String key)
Get a codec attribute value, or null if it does not exist
-
putAttribute
public String putAttribute(String key, String value)
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. This method make a copy on write for every attribute change.
-
getAttributes
public Map<String,String> getAttributes()
Returns the internal codec attributes map.- Returns:
- internal codec attributes map.
-
getIndexSort
public Sort getIndexSort()
Return the sort order of this segment, or null if the index has no sort.
-
-