Class DocIdSet

java.lang.Object
org.apache.lucene.search.DocIdSet
Direct Known Subclasses:
DocIdBitSet, EliasFanoDocIdSet, FieldCacheDocIdSet, FilteredDocIdSet, FixedBitSet, OpenBitSet, PForDeltaDocIdSet, WAH8DocIdSet

public abstract class DocIdSet extends Object
A DocIdSet contains a set of doc ids. Implementing classes must only implement iterator() to provide access to the set.
  • Constructor Details

    • DocIdSet

      public DocIdSet()
  • Method Details

    • iterator

      public abstract DocIdSetIterator iterator() throws IOException
      Provides a DocIdSetIterator to access the set. This implementation can return null if there are no docs that match.
      Throws:
      IOException
    • bits

      public Bits bits() throws IOException
      Optionally provides a Bits interface for random access to matching documents.
      Returns:
      null, if this DocIdSet does not support random access. In contrast to iterator(), a return value of null does not imply that no documents match the filter! The default implementation does not provide random access, so you only need to implement this method if your DocIdSet can guarantee random access to every docid in O(1) time without external disk access (as Bits interface cannot throw IOException). This is generally true for bit sets like FixedBitSet, which return itself if they are used as DocIdSet.
      Throws:
      IOException
    • isCacheable

      public boolean isCacheable()
      This method is a hint for CachingWrapperFilter, if this DocIdSet should be cached without copying it. The default is to return false. If you have an own DocIdSet implementation that does its iteration very effective and fast without doing disk I/O, override this method and return true.