public class SortingLeafReader extends FilterLeafReader
LeafReader which supports sorting documents by a given
Sort. You can use this class to sort an index as follows:
IndexWriter writer; // writer to which the sorted index will be added DirectoryReader reader; // reader on the input index Sort sort; // determines how the documents are sorted LeafReader sortingReader = SortingLeafReader.wrap(SlowCompositeReaderWrapper.wrap(reader), sort); writer.addIndexes(reader); writer.close(); reader.close();
| Modifier and Type | Class and Description |
|---|---|
private static class |
SortingLeafReader.SortingBinaryDocValues |
private static class |
SortingLeafReader.SortingBits |
(package private) static class |
SortingLeafReader.SortingDocsEnum |
private static class |
SortingLeafReader.SortingFields |
private static class |
SortingLeafReader.SortingNumericDocValues |
private static class |
SortingLeafReader.SortingPointValues |
(package private) static class |
SortingLeafReader.SortingPostingsEnum |
private static class |
SortingLeafReader.SortingSortedDocValues |
private static class |
SortingLeafReader.SortingSortedNumericDocValues |
private static class |
SortingLeafReader.SortingSortedSetDocValues |
private static class |
SortingLeafReader.SortingTerms |
private static class |
SortingLeafReader.SortingTermsEnum |
FilterLeafReader.FilterFields, FilterLeafReader.FilterPostingsEnum, FilterLeafReader.FilterTerms, FilterLeafReader.FilterTermsEnumLeafReader.CoreClosedListenerIndexReader.ReaderClosedListener| Modifier and Type | Field and Description |
|---|---|
(package private) Sorter.DocMap |
docMap |
in| Modifier | Constructor and Description |
|---|---|
private |
SortingLeafReader(LeafReader in,
Sorter.DocMap docMap) |
| Modifier and Type | Method and Description |
|---|---|
void |
document(int docID,
StoredFieldVisitor visitor)
Expert: visits the fields of a stored document, for
custom processing/loading of each field.
|
Fields |
fields()
Returns
Fields for this reader. |
BinaryDocValues |
getBinaryDocValues(java.lang.String field)
Returns
BinaryDocValues for this field, or
null if no BinaryDocValues were indexed for
this field. |
Bits |
getDocsWithField(java.lang.String field)
Returns a
Bits at the size of reader.maxDoc(),
with turned on bits for each docid that does have a value for this field,
or null if no DocValues were indexed for this field. |
Bits |
getLiveDocs()
Returns the
Bits representing live (not
deleted) docs. |
NumericDocValues |
getNormValues(java.lang.String field)
Returns
NumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. |
NumericDocValues |
getNumericDocValues(java.lang.String field)
Returns
NumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. |
PointValues |
getPointValues()
Returns the
PointValues used for numeric or
spatial searches, or null if there are no point fields. |
SortedDocValues |
getSortedDocValues(java.lang.String field)
Returns
SortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. |
SortedNumericDocValues |
getSortedNumericDocValues(java.lang.String field)
Returns
SortedNumericDocValues for this field, or
null if no SortedNumericDocValues were indexed for
this field. |
SortedSetDocValues |
getSortedSetDocValues(java.lang.String field)
Returns
SortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. |
Fields |
getTermVectors(int docID)
Retrieve term vectors for this document, or null if
term vectors were not indexed.
|
java.lang.String |
toString() |
static LeafReader |
wrap(LeafReader reader,
Sort sort)
Return a sorted view of
reader according to the order
defined by sort. |
(package private) static LeafReader |
wrap(LeafReader reader,
Sorter.DocMap docMap)
Expert: same as
wrap(org.apache.lucene.index.LeafReader, Sort) but operates directly on a Sorter.DocMap. |
addCoreClosedListener, checkIntegrity, doClose, getDelegate, getFieldInfos, maxDoc, numDocs, removeCoreClosedListener, unwrapaddCoreClosedListenerAsReaderClosedListener, docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, removeCoreClosedListenerAsReaderClosedListener, terms, totalTermFreqaddReaderClosedListener, close, decRef, document, document, ensureOpen, equals, getCombinedCoreAndDeletesKey, getCoreCacheKey, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, removeReaderClosedListener, tryIncReffinal Sorter.DocMap docMap
private SortingLeafReader(LeafReader in, Sorter.DocMap docMap)
public static LeafReader wrap(LeafReader reader, Sort sort) throws java.io.IOException
reader according to the order
defined by sort. If the reader is already sorted, this
method might return the reader as-is.java.io.IOExceptionstatic LeafReader wrap(LeafReader reader, Sorter.DocMap docMap)
wrap(org.apache.lucene.index.LeafReader, Sort) but operates directly on a Sorter.DocMap.public void document(int docID,
StoredFieldVisitor visitor)
throws java.io.IOException
IndexReaderIndexReader.document(int). If you want to load a subset, use
DocumentStoredFieldVisitor.document in class FilterLeafReaderjava.io.IOExceptionpublic Fields fields() throws java.io.IOException
LeafReaderFields for this reader.
This method will not return null.fields in class FilterLeafReaderjava.io.IOExceptionpublic BinaryDocValues getBinaryDocValues(java.lang.String field) throws java.io.IOException
LeafReaderBinaryDocValues for this field, or
null if no BinaryDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getBinaryDocValues in class FilterLeafReaderjava.io.IOExceptionpublic Bits getLiveDocs()
LeafReaderBits representing live (not
deleted) docs. A set bit indicates the doc ID has not
been deleted. If this method returns null it means
there are no deleted documents (all documents are
live).
The returned instance has been safely published for
use by multiple threads without additional
synchronization.getLiveDocs in class FilterLeafReaderpublic PointValues getPointValues()
LeafReaderPointValues used for numeric or
spatial searches, or null if there are no point fields.getPointValues in class FilterLeafReaderpublic NumericDocValues getNormValues(java.lang.String field) throws java.io.IOException
LeafReaderNumericDocValues representing norms
for this field, or null if no NumericDocValues
were indexed. The returned instance should only be
used by a single thread.getNormValues in class FilterLeafReaderjava.io.IOExceptionpublic NumericDocValues getNumericDocValues(java.lang.String field) throws java.io.IOException
LeafReaderNumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getNumericDocValues in class FilterLeafReaderjava.io.IOExceptionpublic SortedNumericDocValues getSortedNumericDocValues(java.lang.String field) throws java.io.IOException
LeafReaderSortedNumericDocValues for this field, or
null if no SortedNumericDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedNumericDocValues in class FilterLeafReaderjava.io.IOExceptionpublic SortedDocValues getSortedDocValues(java.lang.String field) throws java.io.IOException
LeafReaderSortedDocValues for this field, or
null if no SortedDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedDocValues in class FilterLeafReaderjava.io.IOExceptionpublic SortedSetDocValues getSortedSetDocValues(java.lang.String field) throws java.io.IOException
LeafReaderSortedSetDocValues for this field, or
null if no SortedSetDocValues were indexed for
this field. The returned instance should only be
used by a single thread.getSortedSetDocValues in class FilterLeafReaderjava.io.IOExceptionpublic Bits getDocsWithField(java.lang.String field) throws java.io.IOException
LeafReaderBits at the size of reader.maxDoc(),
with turned on bits for each docid that does have a value for this field,
or null if no DocValues were indexed for this field. The
returned instance should only be used by a single threadgetDocsWithField in class FilterLeafReaderjava.io.IOExceptionpublic Fields getTermVectors(int docID) throws java.io.IOException
IndexReadergetTermVectors in class FilterLeafReaderjava.io.IOExceptionpublic java.lang.String toString()
toString in class FilterLeafReader