gate.creole.annic.apache.lucene.index
Class SegmentReader

java.lang.Object
  extended by gate.creole.annic.apache.lucene.index.IndexReader
      extended by gate.creole.annic.apache.lucene.index.SegmentReader

final class SegmentReader
extends IndexReader

FIXME: Describe class SegmentReader here.

Version:
$Id: SegmentReader.java 529 2004-10-05 11:55:26Z niraj $

Nested Class Summary
private  class SegmentReader.Norm
           
 
Field Summary
(package private)  CompoundFileReader cfsReader
           
(package private)  BitVector deletedDocs
           
private  boolean deletedDocsDirty
           
(package private)  FieldInfos fieldInfos
           
private  FieldsReader fieldsReader
           
(package private)  InputStream freqStream
           
private  Hashtable norms
           
private  boolean normsDirty
           
(package private)  InputStream proxStream
           
private  String segment
           
(package private)  TermVectorsReader termVectorsReader
           
(package private)  TermInfosReader tis
           
private  boolean undeleteAll
           
 
Constructor Summary
SegmentReader(SegmentInfo si)
           
SegmentReader(SegmentInfos sis, SegmentInfo si, boolean closeDir)
           
 
Method Summary
private  void closeNorms()
           
 int docFreq(Term t)
          Returns the number of documents containing the term t.
protected  void doClose()
          Implements close.
protected  void doCommit()
          Implements commit.
 Document document(int n)
          Returns the stored fields of the nth Document in this index.
protected  void doDelete(int docNum)
          Implements deletion of the document numbered docNum.
protected  void doSetNorm(int doc, String field, byte value)
          Implements setNorm in subclass.
protected  void doUndeleteAll()
          Implements actual undeleteAll() in subclass.
(package private)  Vector files()
           
 Collection getFieldNames()
          Returns a list of all unique field names that exist in the index pointed to by this IndexReader.
 Collection getFieldNames(boolean indexed)
          Returns a list of all unique field names that exist in the index pointed to by this IndexReader.
 Collection getIndexedFieldNames(boolean storedTermVector)
           
 TermFreqVector getTermFreqVector(int docNumber, String field)
          Return a term frequency vector for the specified document and field.
 TermFreqVector[] getTermFreqVectors(int docNumber)
          Return an array of term frequency vectors for the specified document.
 boolean hasDeletions()
          Returns true if any documents have been deleted
(package private) static boolean hasDeletions(SegmentInfo si)
           
(package private) static boolean hasSeparateNorms(SegmentInfo si)
           
private  void initialize(SegmentInfo si)
           
 boolean isDeleted(int n)
          Returns true if document n has been deleted
 int maxDoc()
          Returns one greater than the largest possible document number.
 byte[] norms(String field)
          Returns the byte-encoded normalization factor for the named field of every document.
 void norms(String field, byte[] bytes, int offset)
          Read norms into a pre-allocated array.
 int numDocs()
          Returns the number of documents in this index.
private  void openNorms(Directory cfsDir)
           
 TermDocs termDocs()
          Returns an unpositioned TermDocs enumerator.
 TermPositions termPositions()
          Returns an unpositioned TermPositions enumerator.
 TermEnum terms()
          Returns an enumeration of all the terms in the index.
 TermEnum terms(Term t)
          Returns an enumeration of all terms after a given term.
(package private) static boolean usesCompoundFile(SegmentInfo si)
           
 
Methods inherited from class gate.creole.annic.apache.lucene.index.IndexReader
close, commit, delete, delete, directory, finalize, getCurrentVersion, getCurrentVersion, getCurrentVersion, indexExists, indexExists, indexExists, isLocked, isLocked, lastModified, lastModified, lastModified, open, open, open, setNorm, setNorm, termDocs, termPositions, undeleteAll, unlock
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

segment

private String segment

fieldInfos

FieldInfos fieldInfos

fieldsReader

private FieldsReader fieldsReader

tis

TermInfosReader tis

termVectorsReader

TermVectorsReader termVectorsReader

deletedDocs

BitVector deletedDocs

deletedDocsDirty

private boolean deletedDocsDirty

normsDirty

private boolean normsDirty

undeleteAll

private boolean undeleteAll

freqStream

InputStream freqStream

proxStream

InputStream proxStream

cfsReader

CompoundFileReader cfsReader

norms

private Hashtable norms
Constructor Detail

SegmentReader

SegmentReader(SegmentInfos sis,
              SegmentInfo si,
              boolean closeDir)
        throws IOException
Throws:
IOException

SegmentReader

SegmentReader(SegmentInfo si)
        throws IOException
Throws:
IOException
Method Detail

initialize

private void initialize(SegmentInfo si)
                 throws IOException
Throws:
IOException

doCommit

protected final void doCommit()
                       throws IOException
Description copied from class: IndexReader
Implements commit.

Specified by:
doCommit in class IndexReader
Throws:
IOException

doClose

protected final void doClose()
                      throws IOException
Description copied from class: IndexReader
Implements close.

Specified by:
doClose in class IndexReader
Throws:
IOException

hasDeletions

static final boolean hasDeletions(SegmentInfo si)
                           throws IOException
Throws:
IOException

hasDeletions

public boolean hasDeletions()
Description copied from class: IndexReader
Returns true if any documents have been deleted

Specified by:
hasDeletions in class IndexReader

usesCompoundFile

static final boolean usesCompoundFile(SegmentInfo si)
                               throws IOException
Throws:
IOException

hasSeparateNorms

static final boolean hasSeparateNorms(SegmentInfo si)
                               throws IOException
Throws:
IOException

doDelete

protected final void doDelete(int docNum)
                       throws IOException
Description copied from class: IndexReader
Implements deletion of the document numbered docNum. Applications should call IndexReader.delete(int) or IndexReader.delete(Term).

Specified by:
doDelete in class IndexReader
Throws:
IOException

doUndeleteAll

protected final void doUndeleteAll()
                            throws IOException
Description copied from class: IndexReader
Implements actual undeleteAll() in subclass.

Specified by:
doUndeleteAll in class IndexReader
Throws:
IOException

files

final Vector files()
            throws IOException
Throws:
IOException

terms

public final TermEnum terms()
                     throws IOException
Description copied from class: IndexReader
Returns an enumeration of all the terms in the index. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration.

Specified by:
terms in class IndexReader
Throws:
IOException

terms

public final TermEnum terms(Term t)
                     throws IOException
Description copied from class: IndexReader
Returns an enumeration of all terms after a given term. The enumeration is ordered by Term.compareTo(). Each term is greater than all that precede it in the enumeration.

Specified by:
terms in class IndexReader
Throws:
IOException

document

public final Document document(int n)
                        throws IOException
Description copied from class: IndexReader
Returns the stored fields of the nth Document in this index.

Specified by:
document in class IndexReader
Throws:
IOException

isDeleted

public final boolean isDeleted(int n)
Description copied from class: IndexReader
Returns true if document n has been deleted

Specified by:
isDeleted in class IndexReader

termDocs

public final TermDocs termDocs()
                        throws IOException
Description copied from class: IndexReader
Returns an unpositioned TermDocs enumerator.

Specified by:
termDocs in class IndexReader
Throws:
IOException

termPositions

public final TermPositions termPositions()
                                  throws IOException
Description copied from class: IndexReader
Returns an unpositioned TermPositions enumerator.

Specified by:
termPositions in class IndexReader
Throws:
IOException

docFreq

public final int docFreq(Term t)
                  throws IOException
Description copied from class: IndexReader
Returns the number of documents containing the term t.

Specified by:
docFreq in class IndexReader
Throws:
IOException

numDocs

public final int numDocs()
Description copied from class: IndexReader
Returns the number of documents in this index.

Specified by:
numDocs in class IndexReader

maxDoc

public final int maxDoc()
Description copied from class: IndexReader
Returns one greater than the largest possible document number. This may be used to, e.g., determine how big to allocate an array which will have an element for every document number in an index.

Specified by:
maxDoc in class IndexReader

getFieldNames

public Collection getFieldNames()
                         throws IOException
Description copied from class: IndexReader
Returns a list of all unique field names that exist in the index pointed to by this IndexReader.

Specified by:
getFieldNames in class IndexReader
Returns:
Collection of Strings indicating the names of the fields
Throws:
IOException - if there is a problem with accessing the index
See Also:
IndexReader.getFieldNames()

getFieldNames

public Collection getFieldNames(boolean indexed)
                         throws IOException
Description copied from class: IndexReader
Returns a list of all unique field names that exist in the index pointed to by this IndexReader. The boolean argument specifies whether the fields returned are indexed or not.

Specified by:
getFieldNames in class IndexReader
Parameters:
indexed - true if only indexed fields should be returned; false if only unindexed fields should be returned.
Returns:
Collection of Strings indicating the names of the fields
Throws:
IOException - if there is a problem with accessing the index
See Also:
IndexReader.getFieldNames(boolean)

getIndexedFieldNames

public Collection getIndexedFieldNames(boolean storedTermVector)
Specified by:
getIndexedFieldNames in class IndexReader
Parameters:
storedTermVector - if true, returns only Indexed fields that have term vector info, else only indexed fields without term vector info
Returns:
Collection of Strings indicating the names of the fields

norms

public byte[] norms(String field)
             throws IOException
Description copied from class: IndexReader
Returns the byte-encoded normalization factor for the named field of every document. This is used by the search code to score documents.

Specified by:
norms in class IndexReader
Throws:
IOException
See Also:
Field.setBoost(float)

doSetNorm

protected final void doSetNorm(int doc,
                               String field,
                               byte value)
                        throws IOException
Description copied from class: IndexReader
Implements setNorm in subclass.

Specified by:
doSetNorm in class IndexReader
Throws:
IOException

norms

public void norms(String field,
                  byte[] bytes,
                  int offset)
           throws IOException
Read norms into a pre-allocated array.

Specified by:
norms in class IndexReader
Throws:
IOException
See Also:
Field.setBoost(float)

openNorms

private final void openNorms(Directory cfsDir)
                      throws IOException
Throws:
IOException

closeNorms

private final void closeNorms()
                       throws IOException
Throws:
IOException

getTermFreqVector

public TermFreqVector getTermFreqVector(int docNumber,
                                        String field)
                                 throws IOException
Return a term frequency vector for the specified document and field. The vector returned contains term numbers and frequencies for all terms in the specified field of this document, if the field had storeTermVector flag set. If the flag was not set, the method returns null.

Specified by:
getTermFreqVector in class IndexReader
Throws:
IOException
See Also:
Field.isTermVectorStored()

getTermFreqVectors

public TermFreqVector[] getTermFreqVectors(int docNumber)
                                    throws IOException
Return an array of term frequency vectors for the specified document. The array contains a vector for each vectorized field in the document. Each vector vector contains term numbers and frequencies for all terms in a given vectorized field. If no such fields existed, the method returns null.

Specified by:
getTermFreqVectors in class IndexReader
Throws:
IOException
See Also:
Field.isTermVectorStored()