org.apache.lucene.index
Class SegmentInfo

java.lang.Object
  extended by org.apache.lucene.index.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 Summary
 Directory dir
           
 int docCount
           
 String name
           
 
Constructor Summary
SegmentInfo(String name, int docCount, Directory dir, boolean isCompoundFile, boolean hasSingleNormFile, boolean hasProx, boolean hasVectors)
           
 
Method Summary
 Object clone()
           
 boolean equals(Object obj)
          We consider another SegmentInfo instance equal if it has the same dir and same name.
 List<String> files()
           
 int getDelCount()
           
 String getDelFileName()
           
 Map<String,String> getDiagnostics()
           
 boolean getDocStoreIsCompoundFile()
           
 int getDocStoreOffset()
           
 String getDocStoreSegment()
           
 boolean getHasProx()
           
 boolean getHasVectors()
           
 String getNormFileName(int number)
          Get the file name for the norms file for this field.
 boolean getUseCompoundFile()
          Returns true if this segment is stored as a compound file; else, false.
 String getVersion()
          Returns the version of the code which wrote the segment.
 boolean hasDeletions()
           
 int hashCode()
           
 boolean hasSeparateNorms()
          Returns true if any fields in this segment have separate norms.
 boolean hasSeparateNorms(int fieldNumber)
          Returns true if this field for this segment has saved a separate norms file (__N.sX).
 void setDocStoreSegment(String segment)
           
 void setHasVectors(boolean v)
           
 long sizeInBytes(boolean includeDocStores)
          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.
 String toString()
          
 String toString(Directory dir, int pendingDelCount)
          Used for debugging.
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

name

public String name

docCount

public int docCount

dir

public Directory dir
Constructor Detail

SegmentInfo

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

getDiagnostics

public Map<String,String> getDiagnostics()

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

getHasVectors

public boolean getHasVectors()
                      throws IOException
Throws:
IOException

setHasVectors

public void setHasVectors(boolean v)

hasDeletions

public boolean hasDeletions()
                     throws IOException
Throws:
IOException

clone

public Object clone()
Overrides:
clone in class Object

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

getDelCount

public int getDelCount()
                throws IOException
Throws:
IOException

getDocStoreOffset

public int getDocStoreOffset()

getDocStoreIsCompoundFile

public boolean getDocStoreIsCompoundFile()

getDocStoreSegment

public String getDocStoreSegment()

setDocStoreSegment

public void setDocStoreSegment(String segment)

getHasProx

public boolean getHasProx()

files

public List<String> files()
                   throws IOException
Throws:
IOException

toString

public String toString()

Overrides:
toString in class Object

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.