You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by "Shah, Vineel" <vi...@hotjobs.com> on 2003/03/28 23:48:26 UTC
Alternate Boolean Query Parser?
One of my clients is asking for an old-style boolean query search on my keywords fields. A string might look like this:
"oracle admin*" and java and oracle and ("8.1.6" or "8.1.7") and ("solaris" or "unix" or "linux")
There would probably be need for nested parenthesis, although I can't think of an example. Is there a parser I can plug into lucene to make this happen? It doesn't seem like the normal QueryParser class would like this string, or would it? Any ideas or comments would be appreciated. Making my own
grammar and parser class is too expensive a proposition.
Vineel Shah
Re: Alternate Boolean Query Parser?
Posted by Tatu Saloranta <ta...@hypermall.net>.
On Friday 28 March 2003 15:48, Shah, Vineel wrote:
> One of my clients is asking for an old-style boolean query search on my
> keywords fields. A string might look like this:
>
> "oracle admin*" and java and oracle and ("8.1.6" or "8.1.7") and
> ("solaris" or "unix" or "linux")
>
> There would probably be need for nested parenthesis, although I can't think
> of an example. Is there a parser I can plug into lucene to make this
> happen? It doesn't seem like the normal QueryParser class would like this
> string, or would it? Any ideas or comments would be appreciated. Making my
Actually I think it should, as long as you change 'and' to 'AND' and 'or' to
'OR' (upper case versions are used, I think, to make it less likely user
meant to match words 'and' and 'or'?).
> own grammar and parser class is too expensive a proposition.
Well, writing simple grammar and parser is fairly easy to do, if you've ever
used java_cup or javacc (or just (b)yacc / bison), shouldn't take all that
long since all actual query classes already exist. But I don't think you need
to do even that. :-)
The only feature that might need some additional work is matching "oracle
admin*"; PhrasePrefixQuery allows doing something like that, but it's not
integrated with QueryParser (I think it probably should, and might be quite
easy to do).
-+ Tatu +-
---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org