lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jamie Stallwood" <>
Subject RE: Query Parser AND / OR
Date Wed, 10 Dec 2003 16:30:28 GMT
What Morus is saying is right, an expression without parenthesis, when
interpreted, assumes terms on either side of an AND clause are compulsory
terms, and any terms on either side of an OR clause are optional. However,
if you combine AND and OR in an expression, the optional terms have no
effect because the others are compulsory.

What needs to be done is that the query parse should process any query
string that has AND, and "put brackets" round it first. As it stands it is
no use, as the OR does not work in the way you would think. AND should be
given implicit priority.

-----Original Message-----
From: Morus Walter []
Sent: 10 December 2003 09:01
To: Lucene Users List
Subject: Re: Query Parser AND / OR

Hi Dror,

thanks for your answer.
> >
> > I'm having problems understanding query parsers handling of AND and OR
> > if there's more than one operator.
> >
> > E.g.
> > a OR b AND c
> > gives the same number of hits as
> > b AND c
> > (only scores are different)
> This would make sense if all the document that have a also have both B
> and C in them.
Then the query should be equivalent to (a OR b) AND c.
But it isn't. For specific a, b and c I get 766 hits for a OR b AND c
and 1086 for (a OR b) AND c.

> >
> > and
> > a AND b OR c AND d
> > seems to be equivalent to
> > a AND b AND C AND d
> >

a OR b AND c -> a +b +c
      4 documents found
        a b c
        a b c d
        b c
        b c d
(a OR b) AND c -> +(a b) +c
      6 documents found

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

View raw message