Class FieldCacheDocIdSet


  • public abstract class FieldCacheDocIdSet
    extends DocIdSet
    Base class for DocIdSet to be used with FieldCache. The implementation of its iterator is very stupid and slow if the implementation of the matchDoc(int) method is not optimized, as iterators simply increment the document id until matchDoc(int) returns true. Because of this matchDoc(int) must be as fast as possible and in no case do any I/O.
    • Constructor Summary

      Constructors 
      Constructor Description
      FieldCacheDocIdSet​(int maxDoc, Bits acceptDocs)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Bits bits()
      Optionally provides a Bits interface for random access to matching documents.
      boolean isCacheable()
      this DocIdSet is always cacheable (does not go back to the reader for iteration)
      DocIdSetIterator iterator()
      Provides a DocIdSetIterator to access the set.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • FieldCacheDocIdSet

        public FieldCacheDocIdSet​(int maxDoc,
                                  Bits acceptDocs)
    • Method Detail

      • isCacheable

        public final boolean isCacheable()
        this DocIdSet is always cacheable (does not go back to the reader for iteration)
        Overrides:
        isCacheable in class DocIdSet
      • bits

        public final Bits bits()
        Description copied from class: DocIdSet
        Optionally provides a Bits interface for random access to matching documents.
        Overrides:
        bits in class DocIdSet
        Returns:
        null, if this DocIdSet does not support random access. In contrast to DocIdSet.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.
      • iterator

        public final DocIdSetIterator iterator()
                                        throws java.io.IOException
        Description copied from class: DocIdSet
        Provides a DocIdSetIterator to access the set. This implementation can return null if there are no docs that match.
        Specified by:
        iterator in class DocIdSet
        Throws:
        java.io.IOException