With Lucene's trunk, there is a MatchAllDocsQuery. You could use
this in a BooleanQuery with your negative-only query.
Another option, if you're at Lucene 1.4.3 is to index the same value
for a dummy field for every document (say like "dummy:all") and use a
TermQuery in a BooleanQuery with the negative-only query.
As for BitSet's, if you need to go that route a QueryFilter would
give you the BitSet back that you could easily complement, but that
might be a bit overkill for what you need given the option above.
Erik
On Jan 6, 2006, at 12:04 PM, Beady Geraghty wrote:
I would like to do queries that are negative. I mean a query with
only negative terms and phrases. For example, retrieve all
documents that do not contain the term "apple".
For now, I have a limited set of documents (say, 10000) to index.
I can create a bitset that represents the search result of hits on
"apple".
Then I complement (XOR) the result.
Each bit corresponds to a document ID.
My question is :
Inside Lucene, are the hits represented in some form of a bitset.
Can I get at it directly. I saw the BitSet class. (I now use
Java's Bitset class).
Assuming that hits are internally represented as bitset, for a
small number of documets, the bitset won't be very big,
and if there are plenty of hits and many many more documents,
is the bitset still kept entirely
in memory as well ?
Thank you
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]