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 Yonik Seeley <yo...@apache.org> on 2007/01/23 19:04:45 UTC
Re: query parser syntax -- does "-" require no-space after it to act as "prohibitor"?
On 1/23/07, Felix Litman <f_...@pacbell.net> wrote:
> Does a special character lika a "-" prohibitor operator require no-space after it in order to work as a prohibitor?
>
> Typically on the web, e.g. Google and others, the "-" operator works as a boolean prohibitor only when not followed by a space. Otherwise it is treated as just a dash query term.
>
> But in our Lucene implementation the the "-" seem to be acting as a prohibitor even if there is space after it. For example. in a query: Sales + service , the 'service' term is excluded by Lucene. (Same for the "+" operator.)
>
> Is this space-treatment a bug or a standard Lucene query parser behavior?
I think this is expected, and changing it would be more confusing. Consider:
If "-" is expected to find a dash, surely "-x" should find a dash
followed by an x?
If you want literals, put quotes around your terms...
"Sales + service"
-Yonik
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: query parser syntax -- does "-" require no-space after it to
act as "prohibitor"?
Posted by Chris Hostetter <ho...@fucit.org>.
: If you want literals, put quotes around your terms...
: "Sales + service"
or if you don't want a full phrase, you just want "-" to be treated as
a term match you can escape it, or quote it by itself...
Sales \- service
Sales "-" service
-Hoss
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org
Re: query parser syntax -- does "-" require no-space after it to act as "prohibitor"?
Posted by Felix Litman <f_...@pacbell.net>.
Thank you. Lucene documentation is vague on this subject.
On the LIA-book -earch powered by Lucene it seems the "-" operator works as a prohibitor regardless of the number of spaces after the "-". Still can't tell if this is a bug or by design.
A Nutch parser, however, seems to have changed that. I checked two Nutch/Lucene implementations the web - Indeed.com and at Oregon State. Their parsers provide a more "standard" public web search behavior. I.e. the "-" is treated as a minus only if no space between it and the search term. Otherwise the "-"becomes just another search term in the query.
-Felix
Yonik Seeley <yo...@apache.org> wrote: On 1/23/07, Felix Litman wrote:
> Does a special character lika a "-" prohibitor operator require no-space after it in order to work as a prohibitor?
>
> Typically on the web, e.g. Google and others, the "-" operator works as a boolean prohibitor only when not followed by a space. Otherwise it is treated as just a dash query term.
>
> But in our Lucene implementation the the "-" seem to be acting as a prohibitor even if there is space after it. For example. in a query: Sales + service , the 'service' term is excluded by Lucene. (Same for the "+" operator.)
>
> Is this space-treatment a bug or a standard Lucene query parser behavior?
I think this is expected, and changing it would be more confusing. Consider:
If "-" is expected to find a dash, surely "-x" should find a dash
followed by an x?
If you want literals, put quotes around your terms...
"Sales + service"
-Yonik
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org