: The problem is the grouping operator ( ) and how it works with distributed : operators, I don't quite get what the specific transformation rules are.
you shouldnt' think if parens as a groiuping operator, you should think of it as a way to force the explicit creation of a BooleanQuery object. This is a BooleanQuery containing 6 SHOULD clauses... A B C D E F This is a BooleanQuery contain 2 SHOULD clauses, each containing 3 SHOULD clauses... (A B C) (D E F) ...those two queries will match on the same set of documents, but the scores will be very different because of the way the coord factor comes into play for *each* BooleanQuery in the hierarchy. : I want to assume that: : +(A B) = +A +B : -(A B) = -A -B ...in the left side of your "equations" the + and - are meaningless unless they are part of larger queries ... a + only means that wha comes after it is a MUST clause of the enclosing boolean query; no enclosing query means the + is meaningless This is a BooleanQuery containing two clauses, X which is a SHOULD clause, and another BooleanQuery which is a MUST clause, that second BoolenaQuery contains two SHOULD clauses (A and B)... X +(A B) This is a BooleanQuery containing two clauses, X which is a SHOULD clause, and another BooleanQuery which is a SHOULD clause, that second BoolenaQuery contains two MUST clauses (A and B)... X (+A +B) ...wo while the first query requires A or B match, the second query requires neither: X is sufficient, or both A and B together are sufficient. does this make more sense? -Hoss --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]