Package org.apache.lucene.search
Class FieldCacheDocIdSet
java.lang.Object
org.apache.lucene.search.DocIdSet
org.apache.lucene.search.FieldCacheDocIdSet
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.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Bitsbits()Optionally provides aBitsinterface for random access to matching documents.final booleanthis DocIdSet is always cacheable (does not go back to the reader for iteration)final DocIdSetIteratoriterator()Provides aDocIdSetIteratorto access the set.protected abstract booleanmatchDoc(int doc) this method checks, if a doc is a hit
-
Field Details
-
maxDoc
protected final int maxDoc -
acceptDocs
-
-
Constructor Details
-
FieldCacheDocIdSet
-
-
Method Details
-
matchDoc
protected abstract boolean matchDoc(int doc) this method checks, if a doc is a hit -
isCacheable
public final boolean isCacheable()this DocIdSet is always cacheable (does not go back to the reader for iteration)- Overrides:
isCacheablein classDocIdSet
-
bits
Description copied from class:DocIdSetOptionally provides aBitsinterface for random access to matching documents.- Overrides:
bitsin classDocIdSet- Returns:
null, if thisDocIdSetdoes not support random access. In contrast toDocIdSet.iterator(), a return value ofnulldoes 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 (asBitsinterface cannot throwIOException). This is generally true for bit sets likeFixedBitSet, which return itself if they are used asDocIdSet.
-
iterator
Description copied from class:DocIdSetProvides aDocIdSetIteratorto access the set. This implementation can returnnullif there are no docs that match.- Specified by:
iteratorin classDocIdSet- Throws:
IOException
-