lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <>
Subject Re: API cleanup: BooleanQuery.add()
Date Mon, 23 Aug 2004 17:38:32 GMT
Daniel Naber wrote:
> Okay. I noticed that my suggested patch only changes BooleanQuery, but 
> BooleanClause is public, too. So it should be changed as well. However, it 
> implements Serializable and I don't know why.

BooleanClause implements Serializable so that a BooleanQuery, which 
encapsulates BooleanClauses, can be passed to a RemoteSearchable.  In 
general, the internal structures of a query, public or not, must be 

> Does this mean we're limited 
> in the changes that we can apply? So is it okay to deprecate (and later 
> remove) the current constructor that takes two booleans and add one that 
> takes the Occur object? 

Yes, I don't see a problem with that.

>>BooleanQuery is really a misnomer, since it is not the traditional tree
>>of boolean operators.
> Then maybe we should rename it for Lucene 2.0? Do you have a better name?

Hmm... we could call it something like CompoundQuery, CombinedQuery or 
ComposedQuery, since it is the only primitive query type that combines 
other types of queries.

We could also add classes for true boolean queries, AndQuery, OrQuery 
and AndNotQuery, all of which rewrite to CompoundQuery.  AndQuery and 
OrQuery could be n-ary, rather than binary.  Would there be much point 
in this?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message