On Mon, Jan 23, 2012 at 22:05, Erick Erickson <erickerick...@gmail.com> wrote:
> Right. Essentially, the precedence is given to AND, so this is parsed
> as though it were python OR (ruby AND programming) OR "programming language"

That's exactly what I'd expect, but the problem is that "ruby" is
marked as mandatory, that is, I don't get any articles not containing
ruby, whereas the query, as I'd interpret it, should allow articles
containing only python as well.

Maybe another example illustrates my problem.
If I search for "awordthatdoesnotexistinmyindex AND java OR python"
(assuming that java and python occur in my index), I won't get any
articles because awordthatdoesnotexistinmyindex isn't to be found
anywhere.

The query parser outputs:
+(+DisjunctionMaxQuery((stemmedText:awordthatdoesnotexistinmyindex))
+DisjunctionMaxQuery((stemmedText:java))
DisjunctionMaxQuery((stemmedText:python)))

Is this not boolean logic as one might expect? Are clauses containing
AND always mandatory? I'm sorry to insist here, but it seems so
counter intuitive to me.

Thanks for your patience,
Michael

Reply via email to