On Sat, Jan 8, 2011 at 7:24 PM, Raavan <valla...@gmail.com> wrote:

> Also, just for my understanding, is SortedVIntList able to perform some
> operations such as AND/OR without decompression ?
>

No, not natively:
http://lucene.apache.org/java/3_0_2/api/core/org/apache/lucene/util/SortedVIntList.html

But the *iterator* returns the *docIds* by order and there is a *constructor
*that accepts a *DocIdSetIterator*.

So it's quite easy to implement the AND/OR operations by creating a *
DocIdSetIterator *that receives the two iterators from the original *
SortedVIntLists* and scans them in parallel, implementing *nextDoc* and *
advance* methods accordingly to AND/OR semantic.

We use something like that and, for very sparse bitsets, it is more
efficient than to convert them in *OpenBitSets* in order to perform AND/OR
operations.

Bye
*Raf*

Reply via email to