: One problem is that not() needs to know how large the sets are.  I
: could add a DocSet.flip(int maxDoc) or a DocSet.flip(int startIndex,
: int endIndex) or something like that... but a user would need to know
: what maxDoc is...

alternately, we could make maxDoc an intrinsic and immutable part of the
DocSet API ... as an "int getMaxSize()" method in the interface perhaps.
The various constructors for the implimenting clases could require it as a
constructor argument (unless they are being constructed from an existing
impl, in which case they could just ask)

in the context of a BitSet it makes a lot of sense to let the "max size"
of the BitSet grow as needed ... but in the context of a Lucene index he
number of docs that can ever posisbly be in a DocSet can never changed (if
it des, the DocSet is invalid because ids may have moved)

: DocSet.andNot(DocSet other) would be doable w/o knowledge of maxDoc though.

yeah ... and getting a DocSet that matches all docs in the index would be
easy enough using a MatchAllDocsQuery.


-Hoss

Reply via email to