Class SlowCompositeReaderWrapper
This class forces a composite reader (eg a
MultiReader or DirectoryReader) to emulate an
atomic reader. This requires implementing the postings
APIs on-the-fly, using the static methods in
MultiFields, MultiDocValues, by stepping through
the sub-readers to merge fields/terms, appending docs, etc.
NOTE: This class almost always results in a
performance hit. If this is important to your use case,
you'll get better performance by gathering the sub readers using
Context to get the
atomic leaves and then operate per-AtomicReader,
instead of using this class.
Inheritance
SlowCompositeReaderWrapper
Assembly: Lucene.Net.dll
Syntax
public sealed class SlowCompositeReaderWrapper : AtomicReader, IDisposable
Properties
CombinedCoreAndDeletesKey
Expert: Returns a key for this IndexReader that also includes deletions,
so IFieldCache/CachingWrapperFilter can find it again.
This key must not have Equals()/GetHashCode() methods,
so "equals" means "identical".
Declaration
public override object CombinedCoreAndDeletesKey { get; }
Property Value
Overrides
CoreCacheKey
Declaration
public override object CoreCacheKey { get; }
Property Value
Overrides
FieldInfos
Get the FieldInfos describing all fields in
this reader.
Note
This API is experimental and might change in incompatible ways in the next release.
Declaration
public override FieldInfos FieldInfos { get; }
Property Value
Overrides
Fields
Returns Fields for this reader.
this property may return null
if the reader has no
postings.
Declaration
public override Fields Fields { get; }
Property Value
Overrides
LiveDocs
Returns the IBits 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.
Declaration
public override IBits LiveDocs { get; }
Property Value
Overrides
MaxDoc
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.
Declaration
public override int MaxDoc { get; }
Property Value
Overrides
NumDocs
Returns the number of documents in this index.
Declaration
public override int NumDocs { get; }
Property Value
Overrides
Methods
CheckIntegrity()
Checks consistency of this reader.
Note that this may be costly in terms of I/O, e.g.
may involve computing a checksum value against large data files.
Note
This API is for internal purposes only and might change in incompatible ways in the next release.
Declaration
public override void CheckIntegrity()
Overrides
DoClose()
Declaration
protected override void DoClose()
Overrides
Document(int, StoredFieldVisitor)
Expert: visits the fields of a stored document, for
custom processing/loading of each field. If you
simply want to load all fields, use
Document(int). If you want to load a subset, use
DocumentStoredFieldVisitor.
Declaration
public override void Document(int docID, StoredFieldVisitor visitor)
Parameters
Overrides
GetBinaryDocValues(string)
Returns BinaryDocValues for this field, or
null
if no BinaryDocValues were indexed for
this field. The returned instance should only be
used by a single thread.
Declaration
public override BinaryDocValues GetBinaryDocValues(string field)
Parameters
Type |
Name |
Description |
string |
field |
|
Returns
Overrides
GetDocsWithField(string)
Returns a IBits 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 thread.
Declaration
public override IBits GetDocsWithField(string field)
Parameters
Type |
Name |
Description |
string |
field |
|
Returns
Overrides
GetNormValues(string)
Returns NumericDocValues representing norms
for this field, or null
if no NumericDocValues
were indexed. The returned instance should only be
used by a single thread.
Declaration
public override NumericDocValues GetNormValues(string field)
Parameters
Type |
Name |
Description |
string |
field |
|
Returns
Overrides
GetNumericDocValues(string)
Returns NumericDocValues for this field, or
null if no NumericDocValues were indexed for
this field. The returned instance should only be
used by a single thread.
Declaration
public override NumericDocValues GetNumericDocValues(string field)
Parameters
Type |
Name |
Description |
string |
field |
|
Returns
Overrides
GetSortedDocValues(string)
Returns SortedDocValues for this field, or
null
if no SortedDocValues were indexed for
this field. The returned instance should only be
used by a single thread.
Declaration
public override SortedDocValues GetSortedDocValues(string field)
Parameters
Type |
Name |
Description |
string |
field |
|
Returns
Overrides
GetSortedSetDocValues(string)
Declaration
public override SortedSetDocValues GetSortedSetDocValues(string field)
Parameters
Type |
Name |
Description |
string |
field |
|
Returns
Overrides
GetTermVectors(int)
Retrieve term vectors for this document, or null
if
term vectors were not indexed. The returned Fields
instance acts like a single-document inverted index
(the docID will be 0).
Declaration
public override Fields GetTermVectors(int docID)
Parameters
Type |
Name |
Description |
int |
docID |
|
Returns
Overrides
ToString()
Returns a string that represents the current object.
Declaration
public override string ToString()
Returns
Type |
Description |
string |
A string that represents the current object.
|
Overrides
Wrap(IndexReader)
This method is sugar for getting an AtomicReader from
an IndexReader of any kind. If the reader is already atomic,
it is returned unchanged, otherwise wrapped by this class.
Declaration
public static AtomicReader Wrap(IndexReader reader)
Parameters
Returns
Implements