org.apache.lucene.search
Class DocIdSet

java.lang.Object
  extended by org.apache.lucene.search.DocIdSet
Direct Known Subclasses:
DocIdBitSet, FieldCacheDocIdSet, FilteredDocIdSet, FixedBitSet, OpenBitSet

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.


Field Summary
static DocIdSet EMPTY_DOCIDSET
          An empty DocIdSet instance for easy use, e.g.
 
Constructor Summary
DocIdSet()
           
 
Method Summary
 Bits bits()
          Optionally provides a Bits interface for random access to matching documents.
 boolean isCacheable()
          This method is a hint for CachingWrapperFilter, if this DocIdSet should be cached without copying it into a BitSet.
abstract  DocIdSetIterator iterator()
          Provides a DocIdSetIterator to access the set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_DOCIDSET

public static final DocIdSet EMPTY_DOCIDSET
An empty DocIdSet instance for easy use, e.g. in Filters that hit no documents.

Constructor Detail

DocIdSet

public DocIdSet()
Method Detail

iterator

public abstract DocIdSetIterator iterator()
                                   throws IOException
Provides a DocIdSetIterator to access the set. This implementation can return null or EMPTY_DOCIDSET.iterator() 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 into a BitSet. 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.



Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.