>-----Original Message-----
>From: Philip Chan [mailto:[EMAIL PROTECTED]]
>Sent: Wednesday, September 11, 2002 11:04 PM
>To: Lucene Users List
>Subject: RE: GoogleQueryParser
>
>
>I think there's a bug, if I set the default operator to be OR,
>when I run
>
>java org.apache.lucene.queryParser.QueryParser "a AND b OR c"
>
>it will give me the result of "+a +b c"
>if I set the default operator to be AND, and run it with the
>term "a b OR
>c", it will give me "+a b c", which is different
To be exact it's not a bug, it's feature ;) Well, the structured query language of
Lucene (and Google and others) is not a strict boolean language. For example I think
the QueryParser of Lucene do not support parenthesis: a AND (b OR C)
Instead of strict boolean logic it supports constraint on query terms: a query term is
either required or optional or prohibited. If you write + sign before the term it will
be required. If you write - it will be prohibited. The question is: is a term required
or optional if you do not specify anything?
DEFAULT_OPERATOR_OR (default QueryParser):
A B C --> all three terms are optional
DEFAULT_OPERATOR_AND (Google style):
A B C --> +A +B +C all three terms are required.
Because a b OR c query is not a strict boolean query, the query parser can choose how
to translate it. +a +b c not too good since doesn't equal to the result of input query
c OR a b
peter
>
>-----Original Message-----
>From: Hal�csy P�ter [mailto:[EMAIL PROTECTED]]
>Sent: Wednesday, September 11, 2002 4:49 AM
>To: Lucene Users List; Clemens Marschner
>Subject: RE: GoogleQueryParser
>
>
>
>
>>-----Original Message-----
>>From: Eric Jain [mailto:[EMAIL PROTECTED]]
>>Sent: Wednesday, September 11, 2002 1:44 PM
>>To: Clemens Marschner
>>Cc: Lucene Users List
>>Subject: Re: GoogleQueryParser
>>
>>
>>> queryParser.setOperator(QueryParser.DEFAULT_OPERATOR_AND);
>>
>>Thanks, that would be exactely what I need. Must be a new
>>method, not yet in
>>the public release?
>>
>check out the new QueryParser from the cvs
>
>peter
>
>--
>To unsubscribe, e-mail:
><mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
><mailto:[EMAIL PROTECTED]>
>
>--
>To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>