public class ParallelReader extends IndexReader
This is useful, e.g., with collections that have large fields which change rarely and small fields that change more frequently. The smaller fields may be re-indexed in a new index and both indexes may be searched together.
Warning: It is up to you to make sure all indexes are created and modified the same way. For example, if you add documents to one index, you need to add the same documents in the same order to the other indexes. Failure to do so will result in undefined behavior.
IndexReader.FieldOption| Constructor and Description |
|---|
ParallelReader()
Construct a ParallelReader.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(IndexReader reader)
Add an IndexReader.
|
void |
add(IndexReader reader,
boolean ignoreStoredFields)
Add an IndexReader whose stored fields will not be returned.
|
int |
docFreq(Term term)
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 n)
Implements deletion of the document numbered
docNum. |
protected void |
doSetNorm(int n,
String field,
byte value)
Implements setNorm in subclass.
|
protected void |
doUndeleteAll()
Implements actual undeleteAll() in subclass.
|
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 |
getFieldNames(IndexReader.FieldOption fieldNames)
Get a list of unique field names that exist in this index and have the specified
field option information.
|
Collection |
getIndexedFieldNames(Field.TermVector tvSpec)
Get a list of unique field names that exist in this index, are indexed, and have
the specified term vector information.
|
TermFreqVector |
getTermFreqVector(int n,
String field)
Return a term frequency vector for the specified document and field.
|
TermFreqVector[] |
getTermFreqVectors(int n)
Return an array of term frequency vectors for the specified document.
|
boolean |
hasDeletions()
Returns true if any documents have been deleted
|
boolean |
hasNorms(String field)
Returns true if there are norms stored for this field.
|
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[] result,
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. |
TermPositions |
termPositions(Term term)
Returns an enumeration of all the documents which contain
term. |
TermEnum |
terms()
Returns an enumeration of all the terms in the index.
|
TermEnum |
terms(Term term)
Returns an enumeration of all terms after a given term.
|
close, commit, delete, delete, deleteDocument, deleteDocuments, directory, finalize, getCurrentVersion, getCurrentVersion, getCurrentVersion, getIndexedFieldNames, getVersion, indexExists, indexExists, indexExists, isCurrent, isLocked, isLocked, lastModified, lastModified, lastModified, main, open, open, open, setNorm, setNorm, undeleteAll, unlockpublic ParallelReader()
throws IOException
IOExceptionpublic void add(IndexReader reader) throws IOException
IOExceptionpublic void add(IndexReader reader, boolean ignoreStoredFields) throws IOException
IllegalArgumentException - if not all indexes contain the same number
of documentsIllegalArgumentException - if not all indexes have the same value
of IndexReader.maxDoc()IOExceptionpublic int numDocs()
IndexReadernumDocs in class IndexReaderpublic int maxDoc()
IndexReadermaxDoc in class IndexReaderpublic boolean hasDeletions()
IndexReaderhasDeletions in class IndexReaderpublic boolean isDeleted(int n)
IndexReaderisDeleted in class IndexReaderprotected void doDelete(int n)
throws IOException
IndexReaderdocNum.
Applications should call IndexReader.delete(int) or IndexReader.delete(Term).doDelete in class IndexReaderIOExceptionprotected void doUndeleteAll()
throws IOException
IndexReaderdoUndeleteAll in class IndexReaderIOExceptionpublic Document document(int n) throws IOException
IndexReadernth
Document in this index.document in class IndexReaderIOExceptionpublic TermFreqVector[] getTermFreqVectors(int n) throws IOException
IndexReadergetTermFreqVectors in class IndexReadern - document for which term frequency vectors are returnedIOException - if index cannot be accessedField.TermVectorpublic TermFreqVector getTermFreqVector(int n, String field) throws IOException
IndexReadergetTermFreqVector in class IndexReadern - document for which the term frequency vector is returnedfield - field for which the term frequency vector is returned.IOException - if index cannot be accessedField.TermVectorpublic boolean hasNorms(String field) throws IOException
IndexReaderhasNorms in class IndexReaderIOExceptionpublic byte[] norms(String field) throws IOException
IndexReadernorms in class IndexReaderIOExceptionField.setBoost(float)public void norms(String field, byte[] result, int offset) throws IOException
IndexReadernorms in class IndexReaderIOExceptionField.setBoost(float)protected void doSetNorm(int n,
String field,
byte value)
throws IOException
IndexReaderdoSetNorm in class IndexReaderIOExceptionpublic TermEnum terms() throws IOException
IndexReaderterms in class IndexReaderIOExceptionpublic TermEnum terms(Term term) throws IOException
IndexReaderterms in class IndexReaderIOExceptionpublic int docFreq(Term term) throws IOException
IndexReadert.docFreq in class IndexReaderIOExceptionpublic TermDocs termDocs(Term term) throws IOException
IndexReaderterm. For each document, the document number, the frequency of
the term in that document is also provided, for use in search scoring.
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 IndexReaderIOExceptionpublic TermDocs termDocs() throws IOException
IndexReaderTermDocs enumerator.termDocs in class IndexReaderIOExceptionpublic TermPositions termPositions(Term term) throws IOException
IndexReaderterm. For each document, in addition to the document number
and frequency of the term in that document, a list of all of the ordinal
positions of the term in the document is available. Thus, this method
implements the mapping:
This positional information faciliates phrase and proximity searching.
The enumeration is ordered by document number. Each document number is greater than all that precede it in the enumeration.
termPositions in class IndexReaderIOExceptionpublic TermPositions termPositions() throws IOException
IndexReaderTermPositions enumerator.termPositions in class IndexReaderIOExceptionprotected void doCommit()
throws IOException
IndexReaderdoCommit in class IndexReaderIOExceptionprotected void doClose()
throws IOException
IndexReaderdoClose in class IndexReaderIOExceptionpublic Collection getFieldNames() throws IOException
IndexReadergetFieldNames in class IndexReaderIOException - if there is a problem with accessing the indexpublic Collection getFieldNames(boolean indexed) throws IOException
IndexReadergetFieldNames in class IndexReaderindexed - true if only indexed fields should be returned;
false if only unindexed fields should be returned.IOException - if there is a problem with accessing the indexpublic Collection getIndexedFieldNames(Field.TermVector tvSpec)
IndexReadergetIndexedFieldNames in class IndexReadertvSpec - specifies which term vector information should be available for the fieldspublic Collection getFieldNames(IndexReader.FieldOption fieldNames)
IndexReadergetFieldNames in class IndexReaderfieldNames - specifies which field option should be available for the returned fieldsIndexReader.FieldOptionCopyright © 2000-2013 Apache Software Foundation. All Rights Reserved.