SoftDeletesDirectoryReaderWrapper (Lucene 10.5.1 core API)
Description: declaration: package: org.apache.lucene.index, class: SoftDeletesDirectoryReaderWrapper

Package 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.DelegatingCacheHelper, 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
  Description
  `SoftDeletesDirectoryReaderWrapper(DirectoryReader in, String field)`
  Creates a new soft deletes wrapper.

- ## Method Summary

  Modifier and Type
  Method
  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, 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, open, open, open, open, openIfChanged, openIfChanged, openIfChanged, openIfChanged, openIfChanged, openIfChanged, openIfChanged, openIfChanged`

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

  `docFreq, getDocCount, getSequentialSubReaders, getSumDocFreq, getSumTotalTermFreq, maxDoc, numDocs, readerBase, readerIndex, storedFields, termVectors, totalTermFreq`

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

  `getContext, toString`

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

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

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

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

- ## Constructor Details

  - ### 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 Details

  - ### 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`