It looks like Dismax query parser can somehow handle parens, used for applying, for instance, + or - to a group, distributing it. But I'm not sure what effect they have on the overall query.
For instance, if I give dismax this: book (dog +( cat -frog)) debugQuery shows: +((DisjunctionMaxQuery((text:book)~0.01) +DisjunctionMaxQuery((text:dog)~0.01) DisjunctionMaxQuery((text:cat)~0.01) -DisjunctionMaxQuery((text:frog)~0.01))~2) () How will that be treated by mm? Let's say I have an mm of 50%. Does that apply to the "top-level", like either "book" needs to match or "+(dog +( cat -frog))" needs to match? And for "+(dog +( cat -frog))" to match, do just 50% of that subquery need to match... or is mm ignored there? Or something else entirely? Can anyone clear this up? Continuing to try experimentally to clear it up... it _looks_ like the mm actually applies to each _individual_ low-level query. So even though the semantics of: book (dog +( cat -frog)) are respected, if mm is 50%, the nesting is irrelvant, exactly 50% of "book", "dog", "+cat", and "+-frog" (distributing the operators through I guess?) are required. I think. I'm getting confused even talking about it.