org.apache.solr.index

## Class SlowCompositeReaderWrapper

- java.lang.Object
- - org.apache.lucene.index.IndexReader
  - - org.apache.lucene.index.LeafReader
    - - org.apache.solr.index.SlowCompositeReaderWrapper

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public final class SlowCompositeReaderWrapper
      extends LeafReader

  This class forces a composite reader (eg a `MultiReader` or `DirectoryReader`) to emulate a `LeafReader`. 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 `IndexReader.getContext()` to get the leaves and then operate per-LeafReader, instead of using this class.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.index.LeafReader

      `LeafReader.CoreClosedListener`

    - ### Nested classes/interfaces inherited from class org.apache.lucene.index.IndexReader

      `IndexReader.ReaderClosedListener`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCoreClosedListener(LeafReader.CoreClosedListener listener)`
    `void` | `checkIntegrity()`
    `protected void` | `doClose()`
    `void` | `document(int docID, StoredFieldVisitor visitor)`
    `Fields` | `fields()`
    `BinaryDocValues` | `getBinaryDocValues(String field)`
    `Object` | `getCombinedCoreAndDeletesKey()`
    `Object` | `getCoreCacheKey()`
    `Bits` | `getDocsWithField(String field)`
    `FieldInfos` | `getFieldInfos()`
    `Sort` | `getIndexSort()`
    `Bits` | `getLiveDocs()`
    `NumericDocValues` | `getNormValues(String field)`
    `NumericDocValues` | `getNumericDocValues(String field)`
    `PointValues` | `getPointValues()`
    `SortedDocValues` | `getSortedDocValues(String field)`
    `SortedNumericDocValues` | `getSortedNumericDocValues(String field)`
    `SortedSetDocValues` | `getSortedSetDocValues(String field)`
    `Fields` | `getTermVectors(int docID)`
    `int` | `maxDoc()`
    `int` | `numDocs()`
    `void` | `removeCoreClosedListener(LeafReader.CoreClosedListener listener)`
    `String` | `toString()`
    `static LeafReader` | `wrap(IndexReader reader)` This method is sugar for getting an `LeafReader` from an `IndexReader` of any kind.

    - ### Methods inherited from class org.apache.lucene.index.LeafReader

      `addCoreClosedListenerAsReaderClosedListener, docFreq, getContext, getDocCount, getSumDocFreq, getSumTotalTermFreq, postings, postings, removeCoreClosedListenerAsReaderClosedListener, terms, totalTermFreq`

    - ### Methods inherited from class org.apache.lucene.index.IndexReader

      `addReaderClosedListener, close, decRef, document, document, ensureOpen, equals, getRefCount, getTermVector, hasDeletions, hashCode, incRef, leaves, numDeletedDocs, registerParentReader, removeReaderClosedListener, tryIncRef`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### wrap

          public static LeafReader wrap(IndexReader reader)
                                 throws IOException

      This method is sugar for getting an `LeafReader` from an `IndexReader` of any kind. If the reader is already atomic, it is returned unchanged, otherwise wrapped by this class.
      Throws:
        `IOException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### addCoreClosedListener

          public void addCoreClosedListener(LeafReader.CoreClosedListener listener)

      Specified by:
        `addCoreClosedListener` in class `LeafReader`

    - #### removeCoreClosedListener

          public void removeCoreClosedListener(LeafReader.CoreClosedListener listener)

      Specified by:
        `removeCoreClosedListener` in class `LeafReader`

    - #### fields

          public Fields fields()

      Specified by:
        `fields` in class `LeafReader`

    - #### getNumericDocValues

          public NumericDocValues getNumericDocValues(String field)
                                               throws IOException

      Specified by:
        `getNumericDocValues` in class `LeafReader`
      Throws:
        `IOException`

    - #### getDocsWithField

          public Bits getDocsWithField(String field)
                                throws IOException

      Specified by:
        `getDocsWithField` in class `LeafReader`
      Throws:
        `IOException`

    - #### getBinaryDocValues

          public BinaryDocValues getBinaryDocValues(String field)
                                             throws IOException

      Specified by:
        `getBinaryDocValues` in class `LeafReader`
      Throws:
        `IOException`

    - #### getSortedNumericDocValues

          public SortedNumericDocValues getSortedNumericDocValues(String field)
                                                           throws IOException

      Specified by:
        `getSortedNumericDocValues` in class `LeafReader`
      Throws:
        `IOException`

    - #### getSortedDocValues

          public SortedDocValues getSortedDocValues(String field)
                                             throws IOException

      Specified by:
        `getSortedDocValues` in class `LeafReader`
      Throws:
        `IOException`

    - #### getSortedSetDocValues

          public SortedSetDocValues getSortedSetDocValues(String field)
                                                   throws IOException

      Specified by:
        `getSortedSetDocValues` in class `LeafReader`
      Throws:
        `IOException`

    - #### getNormValues

          public NumericDocValues getNormValues(String field)
                                         throws IOException

      Specified by:
        `getNormValues` in class `LeafReader`
      Throws:
        `IOException`

    - #### getTermVectors

          public Fields getTermVectors(int docID)
                                throws IOException

      Specified by:
        `getTermVectors` in class `IndexReader`
      Throws:
        `IOException`

    - #### numDocs

          public int numDocs()

      Specified by:
        `numDocs` in class `IndexReader`

    - #### maxDoc

          public int maxDoc()

      Specified by:
        `maxDoc` in class `IndexReader`

    - #### document

          public void document(int docID,
                               StoredFieldVisitor visitor)
                        throws IOException

      Specified by:
        `document` in class `IndexReader`
      Throws:
        `IOException`

    - #### getLiveDocs

          public Bits getLiveDocs()

      Specified by:
        `getLiveDocs` in class `LeafReader`

    - #### getPointValues

          public PointValues getPointValues()

      Specified by:
        `getPointValues` in class `LeafReader`

    - #### getFieldInfos

          public FieldInfos getFieldInfos()

      Specified by:
        `getFieldInfos` in class `LeafReader`

    - #### getCoreCacheKey

          public Object getCoreCacheKey()

      Overrides:
        `getCoreCacheKey` in class `IndexReader`

    - #### getCombinedCoreAndDeletesKey

          public Object getCombinedCoreAndDeletesKey()

      Overrides:
        `getCombinedCoreAndDeletesKey` in class `IndexReader`

    - #### doClose

          protected void doClose()
                          throws IOException

      Specified by:
        `doClose` in class `IndexReader`
      Throws:
        `IOException`

    - #### checkIntegrity

          public void checkIntegrity()
                              throws IOException

      Specified by:
        `checkIntegrity` in class `LeafReader`
      Throws:
        `IOException`

    - #### getIndexSort

          public Sort getIndexSort()

      Specified by:
        `getIndexSort` in class `LeafReader`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.