lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <>
Subject Re: need some advice/help with negative query.
Date Fri, 06 Jan 2006 19:39:11 GMT
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.


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:
For additional commands, e-mail:

View raw message