You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by François Schiettecatte <fs...@gmail.com> on 2012/12/28 19:06:26 UTC

Bug in query parser?

Hi

Just ran into this bug while playing around with 3.6. Using edismax and entering a a search like this "(text:foobar)" causes the query parser to mangle the query as shown by the results below. Adding a space after the first paren solves this. I checked 3.6.1 and get the same issue. I recall an issue like this in 3.6.0 but thought it was quashed in 3.6.1?


<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="mm">1</str>
<str name="sort">score desc, prefix_sort desc</str>
<str name="indent">on</str>
<str name="qf">number^5 title^3 text</str>
<str name="wt">standard</str>
<str name="version">2.2</str>
<str name="rows">10</str>
<str name="defType">edismax</str>
<str name="pf">text^2</str>
<str name="fl">*,score</str>
<str name="debugQuery">on</str>
<str name="start">0</str>
<str name="q">(text:foobar)</str>
<str name="qt">search</str>
<str name="ps">100000</str>
</lst>
</lst>
<result name="response" numFound="0" start="0" maxScore="0.0"/>
<lst name="debug">
<str name="rawquerystring">(text:foobar)</str>
<str name="querystring">(text:foobar)</str>
<str name="parsedquery">
+DisjunctionMaxQuery((text:textfoobar | title:textfoobar^3.0 | number:text:foobar^5.0)) ()
</str>
<str name="parsedquery_toString">
+(text:textfoobar | title:textfoobar^3.0 | number:text:foobar^5.0) ()
</str>
<lst name="explain"/>
<str name="QParser">ExtendedDismaxQParser</str>


Cheers

François

Re: Bug in query parser?

Posted by Erik Hatcher <er...@gmail.com>.
Looks like you're being hit by https://issues.apache.org/jira/browse/SOLR-3377, which is marked as fixed in 4.0, but not any version of 3.x

	Erik

On Dec 28, 2012, at 13:06 , François Schiettecatte wrote:

> Hi
> 
> Just ran into this bug while playing around with 3.6. Using edismax and entering a a search like this "(text:foobar)" causes the query parser to mangle the query as shown by the results below. Adding a space after the first paren solves this. I checked 3.6.1 and get the same issue. I recall an issue like this in 3.6.0 but thought it was quashed in 3.6.1?
> 
> 
> <response>
> <lst name="responseHeader">
> <int name="status">0</int>
> <int name="QTime">2</int>
> <lst name="params">
> <str name="mm">1</str>
> <str name="sort">score desc, prefix_sort desc</str>
> <str name="indent">on</str>
> <str name="qf">number^5 title^3 text</str>
> <str name="wt">standard</str>
> <str name="version">2.2</str>
> <str name="rows">10</str>
> <str name="defType">edismax</str>
> <str name="pf">text^2</str>
> <str name="fl">*,score</str>
> <str name="debugQuery">on</str>
> <str name="start">0</str>
> <str name="q">(text:foobar)</str>
> <str name="qt">search</str>
> <str name="ps">100000</str>
> </lst>
> </lst>
> <result name="response" numFound="0" start="0" maxScore="0.0"/>
> <lst name="debug">
> <str name="rawquerystring">(text:foobar)</str>
> <str name="querystring">(text:foobar)</str>
> <str name="parsedquery">
> +DisjunctionMaxQuery((text:textfoobar | title:textfoobar^3.0 | number:text:foobar^5.0)) ()
> </str>
> <str name="parsedquery_toString">
> +(text:textfoobar | title:textfoobar^3.0 | number:text:foobar^5.0) ()
> </str>
> <lst name="explain"/>
> <str name="QParser">ExtendedDismaxQParser</str>
> 
> 
> Cheers
> 
> François