public final class SegmentInfo
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,java.lang.String> |
attributes |
private Codec |
codec |
private java.util.Map<java.lang.String,java.lang.String> |
diagnostics |
Directory |
dir
Where this segment resides.
|
private byte[] |
id
Id that uniquely identifies this segment.
|
private boolean |
isCompoundFile |
private int |
maxDoc |
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).
|
private java.util.Set<java.lang.String> |
setFiles |
private Version |
version |
static int |
YES
Used by some member fields to mean present (e.g.,
norms, deletions).
|
Constructor and Description |
---|
SegmentInfo(Directory dir,
Version version,
java.lang.String name,
int maxDoc,
boolean isCompoundFile,
Codec codec,
java.util.Map<java.lang.String,java.lang.String> diagnostics,
byte[] id,
java.util.Map<java.lang.String,java.lang.String> attributes)
Construct a new complete SegmentInfo instance from input.
|
Modifier and Type | Method and 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.
|
private void |
checkFileNames(java.util.Collection<java.lang.String> files) |
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)
Get a codec attribute value, or null if it does not exist
|
java.util.Map<java.lang.String,java.lang.String> |
getAttributes()
Returns the internal codec attributes map.
|
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.
|
byte[] |
getId()
Return the id that uniquely identifies this segment.
|
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).
|
(package private) java.lang.String |
namedForThisSegment(java.lang.String file)
strips any segment name from the file, naming it with this segment
this is because "segment names" can change, e.g.
|
java.lang.String |
putAttribute(java.lang.String key,
java.lang.String value)
Puts a codec attribute value.
|
void |
setCodec(Codec codec)
Can only be called once.
|
(package private) void |
setDiagnostics(java.util.Map<java.lang.String,java.lang.String> diagnostics) |
void |
setFiles(java.util.Collection<java.lang.String> files)
Sets the files written for this segment.
|
(package private) void |
setMaxDoc(int maxDoc) |
(package private) void |
setUseCompoundFile(boolean isCompoundFile)
Mark whether this segment is stored as a compound file.
|
java.lang.String |
toString() |
java.lang.String |
toString(int delCount)
Used for debugging.
|
public static final int NO
public static final int YES
public final java.lang.String name
private int maxDoc
public final Directory dir
private boolean isCompoundFile
private final byte[] id
private Codec codec
private java.util.Map<java.lang.String,java.lang.String> diagnostics
private final java.util.Map<java.lang.String,java.lang.String> attributes
private Version version
private java.util.Set<java.lang.String> setFiles
public SegmentInfo(Directory dir, Version version, java.lang.String name, int maxDoc, boolean isCompoundFile, Codec codec, java.util.Map<java.lang.String,java.lang.String> diagnostics, byte[] id, java.util.Map<java.lang.String,java.lang.String> attributes)
Note: this is public only to allow access from the codecs package.
void setDiagnostics(java.util.Map<java.lang.String,java.lang.String> diagnostics)
public java.util.Map<java.lang.String,java.lang.String> getDiagnostics()
void setUseCompoundFile(boolean isCompoundFile)
isCompoundFile
- true if this is a compound file;
else, falsepublic boolean getUseCompoundFile()
public void setCodec(Codec codec)
public int maxDoc()
void setMaxDoc(int maxDoc)
public java.util.Set<java.lang.String> files()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toString(int delCount)
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 be C
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).
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public Version getVersion()
public byte[] getId()
public void setFiles(java.util.Collection<java.lang.String> files)
public void addFiles(java.util.Collection<java.lang.String> files)
public void addFile(java.lang.String file)
private void checkFileNames(java.util.Collection<java.lang.String> files)
java.lang.String namedForThisSegment(java.lang.String file)
public java.lang.String getAttribute(java.lang.String key)
public java.lang.String putAttribute(java.lang.String key, java.lang.String 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.
public java.util.Map<java.lang.String,java.lang.String> getAttributes()