This is the contents of a message on the Lucene boards regarding cache and filter. I thought you moght be interested in it since you weren't completely happy with your bitset filtering.
--------------------- Check out the HashDocSet from Solr, this is the best way to cache small sets of search results. In general, the Solr BitSet/DocSet classes are more efficient than using the standard java.util.BitSet. You can use these independent of the rest of Solr (though I recommend checking out Solr if you want to do complex caching).
John Patterson wrote:
> I am thinking about caching search results for common queries and just
> want to check that for small numbers of results it would be better to
> store the doc number as ints or shorts than to store a Filter with a
> BitSet. I guess if you results contain less than 1/32 or 1/16 of the
> number of documents then it would take less memory.
> Is there anything else to consider?
Hope this helps some.