Class CachingWrapperFilter

java.lang.Object
org.apache.lucene.search.Filter
org.apache.lucene.search.CachingWrapperFilter

public class CachingWrapperFilter extends Filter
Wraps another Filter's result and caches it. The purpose is to allow filters to simply filter, and then wrap with this class to add caching.
  • Constructor Details

    • CachingWrapperFilter

      public CachingWrapperFilter(Filter filter)
      Wraps another filter's result and caches it.
      Parameters:
      filter - Filter to cache results of
  • Method Details

    • getFilter

      public Filter getFilter()
      Gets the contained filter.
      Returns:
      the contained filter.
    • getDocIdSet

      public DocIdSet getDocIdSet(AtomicReaderContext context, Bits acceptDocs) throws IOException
      Description copied from class: Filter
      Creates a DocIdSet enumerating the documents that should be permitted in search results. NOTE: null can be returned if no documents are accepted by this Filter.

      Note: This method will be called once per segment in the index during searching. The returned DocIdSet must refer to document IDs for that segment, not for the top-level reader.

      Specified by:
      getDocIdSet in class Filter
      Parameters:
      context - a AtomicReaderContext instance opened on the index currently searched on. Note, it is likely that the provided reader info does not represent the whole underlying index i.e. if the index has more than one segment the given reader only represents a single segment. The provided context is always an atomic context, so you can call AtomicReader.fields() on the context's reader, for example.
      acceptDocs - Bits that represent the allowable docs to match (typically deleted docs but possibly filtering other documents)
      Returns:
      a DocIdSet that provides the documents which should be permitted or prohibited in search results. NOTE: null should be returned if the filter doesn't accept any documents otherwise internal optimization might not apply in the case an empty DocIdSet is returned.
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • sizeInBytes

      public long sizeInBytes()
      Returns total byte size used by cached filters.