org.apache.lucene.index

## Class SoftDeletesDirectoryReaderWrapper

- java.lang.Object
- - org.apache.lucene.index.IndexReader
  - - org.apache.lucene.index.CompositeReader
    - - org.apache.lucene.index.BaseCompositeReader<LeafReader>
      - - org.apache.lucene.index.DirectoryReader
        - - org.apache.lucene.index.FilterDirectoryReader
          - - org.apache.lucene.index.SoftDeletesDirectoryReaderWrapper

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public final class SoftDeletesDirectoryReaderWrapper
      extends FilterDirectoryReader

  This reader filters out documents that have a doc values value in the given field and treat these documents as soft deleted. Hard deleted documents will also be filtered out in the life docs of this reader.
  See Also:
    `IndexWriterConfig.setSoftDeletesField(String)`, `IndexWriter.softUpdateDocument(Term, Iterable, Field...)`, `SoftDeletesRetentionMergePolicy`

- - ### Nested Class Summary

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

      `FilterDirectoryReader.SubReaderWrapper`

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

      `IndexReader.CacheHelper, IndexReader.CacheKey, IndexReader.ClosedListener`

  - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.index.FilterDirectoryReader

      `in`

    - ### Fields inherited from class org.apache.lucene.index.DirectoryReader

      `directory`

    - ### Fields inherited from class org.apache.lucene.index.BaseCompositeReader

      `subReadersSorter`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SoftDeletesDirectoryReaderWrapper(DirectoryReader in, String field)` Creates a new soft deletes wrapper.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DirectoryReader` | `doWrapDirectoryReader(DirectoryReader in)` Called by the doOpenIfChanged() methods to return a new wrapped DirectoryReader.
    `IndexReader.CacheHelper` | `getReaderCacheHelper()` Optional method: Return a `IndexReader.CacheHelper` that can be used to cache based on the content of this reader.

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

      `doClose, doOpenIfChanged, doOpenIfChanged, doOpenIfChanged, getDelegate, getIndexCommit, getVersion, isCurrent, unwrap`

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

      `directory, indexExists, listCommits, open, open, open, open, open, open, openIfChanged, openIfChanged, openIfChanged, openIfChanged`

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

      `docFreq, document, getDocCount, getSequentialSubReaders, getSumDocFreq, getSumTotalTermFreq, getTermVectors, maxDoc, numDocs, readerBase, readerIndex, totalTermFreq`

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

      `getContext, toString`

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

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

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

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

- - ### Constructor Detail

    - #### SoftDeletesDirectoryReaderWrapper

          public SoftDeletesDirectoryReaderWrapper(DirectoryReader in,
                                                   String field)
                                            throws IOException

      Creates a new soft deletes wrapper.
      Parameters:
        `in` - the incoming directory reader
        `field` - the soft deletes field
      Throws:
        `IOException`

  - ### Method Detail

    - #### doWrapDirectoryReader

          protected DirectoryReader doWrapDirectoryReader(DirectoryReader in)
                                                   throws IOException

      Description copied from class: `FilterDirectoryReader`
      Called by the doOpenIfChanged() methods to return a new wrapped DirectoryReader. Implementations should just return an instantiation of themselves, wrapping the passed in DirectoryReader.
      Specified by:
        `doWrapDirectoryReader` in class `FilterDirectoryReader`
      Parameters:
        `in` - the DirectoryReader to wrap
      Returns:
        the wrapped DirectoryReader
      Throws:
        `IOException`

    - #### getReaderCacheHelper

          public IndexReader.CacheHelper getReaderCacheHelper()

      Description copied from class: `IndexReader`
      Optional method: Return a `IndexReader.CacheHelper` that can be used to cache based on the content of this reader. Two readers that have different data or different sets of deleted documents will be considered different.

      A return value of `null` indicates that this reader is not suited for caching, which is typically the case for short-lived wrappers that alter the content of the wrapped reader.

      Specified by:
        `getReaderCacheHelper` in class `IndexReader`

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