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 serializable.
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?
Doug
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
