|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.lucene.index.IndexReader org.apache.lucene.store.instantiated.InstantiatedIndexReader
public class InstantiatedIndexReader
An InstantiatedIndexReader is not a snapshot in time, it is completely in sync with the latest commit to the store!
Consider using InstantiatedIndex as if it was immutable.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader |
---|
IndexReader.FieldOption, IndexReader.ReaderFinishedListener |
Field Summary |
---|
Fields inherited from class org.apache.lucene.index.IndexReader |
---|
hasChanges, readerFinishedListeners |
Constructor Summary | |
---|---|
InstantiatedIndexReader(InstantiatedIndex index)
|
Method Summary | |
---|---|
Directory |
directory()
Returns the directory associated with this index. |
int |
docFreq(Term t)
Returns the number of documents containing the term t . |
protected void |
doClose()
Implements close. |
protected void |
doCommit(Map<String,String> commitUserData)
Implements commit. |
Document |
document(int n)
Returns the stored fields of the n th
Document in this index. |
Document |
document(int n,
FieldSelector fieldSelector)
Return the Document at the n th
position. |
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. |
Collection<String> |
getFieldNames(IndexReader.FieldOption fieldOption)
Get a list of unique field names that exist in this index and have the specified field option information. |
InstantiatedIndex |
getIndex()
|
TermFreqVector |
getTermFreqVector(int docNumber,
String field)
Return a term frequency vector for the specified document and field. |
void |
getTermFreqVector(int docNumber,
String field,
TermVectorMapper mapper)
Load the Term Vector into a user-defined data structure instead of relying on the parallel arrays of the TermFreqVector . |
void |
getTermFreqVector(int docNumber,
TermVectorMapper mapper)
Map all the term vectors for all fields in a Document |
TermFreqVector[] |
getTermFreqVectors(int docNumber)
Return an array of term frequency vectors for the specified document. |
long |
getVersion()
An InstantiatedIndexReader is not a snapshot in time, it is completely in sync with the latest commit to the store! |
boolean |
hasDeletions()
Returns true if any documents have been deleted |
boolean |
isCurrent()
An InstantiatedIndexReader is always current! Check whether this IndexReader is still using the current (i.e., most recently committed) version of the index. |
boolean |
isDeleted(int n)
Returns true if document n has been deleted |
boolean |
isOptimized()
Checks is the index is optimized (if it has a single segment and no deletions). |
int |
maxDoc()
Returns one greater than the largest possible document number. |
byte[] |
norms(String field)
never ever touch these values. |
void |
norms(String field,
byte[] bytes,
int offset)
Reads the byte-encoded normalization factor for the named field of every document. |
int |
numDocs()
Returns the number of documents in this index. |
TermDocs |
termDocs()
Returns an unpositioned TermDocs enumerator. |
TermDocs |
termDocs(Term term)
Returns an enumeration of all the documents which contain term . |
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 starting at a given term. |
Methods inherited from class org.apache.lucene.index.IndexReader |
---|
acquireWriteLock, addReaderFinishedListener, clone, clone, close, commit, commit, decRef, deleteDocument, deleteDocuments, ensureOpen, flush, flush, getCommitUserData, getCommitUserData, getCoreCacheKey, getCurrentVersion, getDeletesCacheKey, getIndexCommit, getRefCount, getSequentialSubReaders, getTermInfosIndexDivisor, getUniqueTermCount, hasNorms, incRef, indexExists, lastModified, listCommits, main, notifyReaderFinishedListeners, numDeletedDocs, open, open, open, open, open, open, open, open, readerFinished, removeReaderFinishedListener, reopen, reopen, reopen, reopen, setNorm, setNorm, termPositions, toString, undeleteAll |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public InstantiatedIndexReader(InstantiatedIndex index)
Method Detail |
---|
public boolean isOptimized()
IndexReader
isOptimized
in class IndexReader
public long getVersion()
getVersion
in class IndexReader
InstantiatedIndex.getVersion()
in associated instantiated index.public Directory directory()
IndexReader
directory
in class IndexReader
public boolean isCurrent() throws IOException
false
, in which case you must open a new IndexReader in
order to see the changes. See the description of the autoCommit
flag
which controls when the IndexWriter
actually commits changes to the
index.
isCurrent
in class IndexReader
CorruptIndexException
- if the index is corrupt
IOException
- if there is a low-level IO error
UnsupportedOperationException
- unless overridden in subclasspublic InstantiatedIndex getIndex()
public int numDocs()
IndexReader
numDocs
in class IndexReader
public int maxDoc()
IndexReader
maxDoc
in class IndexReader
public boolean hasDeletions()
IndexReader
hasDeletions
in class IndexReader
public boolean isDeleted(int n)
IndexReader
isDeleted
in class IndexReader
protected void doDelete(int docNum) throws IOException
IndexReader
docNum
.
Applications should call IndexReader.deleteDocument(int)
or IndexReader.deleteDocuments(Term)
.
doDelete
in class IndexReader
IOException
protected void doUndeleteAll() throws IOException
IndexReader
doUndeleteAll
in class IndexReader
IOException
protected void doCommit(Map<String,String> commitUserData) throws IOException
IndexReader
doCommit
in class IndexReader
IOException
protected void doClose() throws IOException
IndexReader
doClose
in class IndexReader
IOException
public Collection<String> getFieldNames(IndexReader.FieldOption fieldOption)
IndexReader
getFieldNames
in class IndexReader
fieldOption
- specifies which field option should be available for the returned fields
IndexReader.FieldOption
public Document document(int n, FieldSelector fieldSelector) throws CorruptIndexException, IOException
Document
at the n
th
position.
Warning!
The resulting document is the actual stored document instance
and not a deserialized clone as retuned by an IndexReader
over a Directory
.
I.e., if you need to touch the document, clone it first!
This can also be seen as a feature for live changes of stored values,
but be careful! Adding a field with an name unknown to the index
or to a field with previously no stored values will make
getFieldNames(org.apache.lucene.index.IndexReader.FieldOption)
out of sync, causing problems for instance when merging the
instantiated index to another index.
This implementation ignores the field selector! All stored fields are always returned!
document
in class IndexReader
n
- document numberfieldSelector
- ignored
Document
at the nth position
CorruptIndexException
- if the index is corrupt
IOException
- if there is a low-level IO errorFieldable
,
FieldSelector
,
SetBasedFieldSelector
,
LoadFirstFieldSelector
public Document document(int n) throws IOException
n
th
Document
in this index.
Warning!
The resulting document is the actual stored document instance
and not a deserialized clone as retuned by an IndexReader
over a Directory
.
I.e., if you need to touch the document, clone it first!
This can also be seen as a feature for live changes of stored values,
but be careful! Adding a field with an name unknown to the index
or to a field with previously no stored values will make
getFieldNames(org.apache.lucene.index.IndexReader.FieldOption)
out of sync, causing problems for instance when merging the
instantiated index to another index.
document
in class IndexReader
CorruptIndexException
- if the index is corrupt
IOException
- if there is a low-level IO errorpublic byte[] norms(String field) throws IOException
norms
in class IndexReader
IOException
AbstractField.setBoost(float)
public void norms(String field, byte[] bytes, int offset) throws IOException
IndexReader
norms
in class IndexReader
IOException
AbstractField.setBoost(float)
protected void doSetNorm(int doc, String field, byte value) throws IOException
IndexReader
doSetNorm
in class IndexReader
IOException
public int docFreq(Term t) throws IOException
IndexReader
t
.
docFreq
in class IndexReader
IOException
- if there is a low-level IO errorpublic TermEnum terms() throws IOException
IndexReader
TermEnum.next()
must be called
on the resulting enumeration before calling other methods such as
TermEnum.term()
.
terms
in class IndexReader
IOException
- if there is a low-level IO errorpublic TermEnum terms(Term t) throws IOException
IndexReader
terms
in class IndexReader
IOException
- if there is a low-level IO errorpublic TermDocs termDocs() throws IOException
IndexReader
TermDocs
enumerator.
Note: the TermDocs returned is unpositioned. Before using it, ensure
that you first position it with TermDocs.seek(Term)
or
TermDocs.seek(TermEnum)
.
termDocs
in class IndexReader
IOException
- if there is a low-level IO errorpublic TermDocs termDocs(Term term) throws IOException
IndexReader
term
. For each document, the document number, the frequency of
the term in that document is also provided, for use in
search scoring. If term is null, then all non-deleted
docs are returned with freq=1.
Thus, this method implements the mapping:
The enumeration is ordered by document number. Each document number is greater than all that precede it in the enumeration.
termDocs
in class IndexReader
IOException
- if there is a low-level IO errorpublic TermPositions termPositions() throws IOException
IndexReader
TermPositions
enumerator.
termPositions
in class IndexReader
IOException
- if there is a low-level IO errorpublic TermFreqVector[] getTermFreqVectors(int docNumber) throws IOException
IndexReader
TermFreqVector
or of type TermPositionVector
if
positions or offsets have been stored.
getTermFreqVectors
in class IndexReader
docNumber
- document for which term frequency vectors are returned
IOException
- if index cannot be accessedField.TermVector
public TermFreqVector getTermFreqVector(int docNumber, String field) throws IOException
IndexReader
TermPositionVector
is returned.
getTermFreqVector
in class IndexReader
docNumber
- document for which the term frequency vector is returnedfield
- field for which the term frequency vector is returned.
IOException
- if index cannot be accessedField.TermVector
public void getTermFreqVector(int docNumber, String field, TermVectorMapper mapper) throws IOException
IndexReader
TermFreqVector
.
getTermFreqVector
in class IndexReader
docNumber
- The number of the document to load the vector forfield
- The name of the field to loadmapper
- The TermVectorMapper
to process the vector. Must not be null
IOException
- if term vectors cannot be accessed or if they do not exist on the field and doc. specified.public void getTermFreqVector(int docNumber, TermVectorMapper mapper) throws IOException
IndexReader
getTermFreqVector
in class IndexReader
docNumber
- The number of the document to load the vector formapper
- The TermVectorMapper
to process the vector. Must not be null
IOException
- if term vectors cannot be accessed or if they do not exist on the field and doc. specified.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |