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 Nicolò Martini <el...@gmail.com> on 2012/06/06 14:35:59 UTC

Fielded searches with Solr ExtendedDisMax Query Parser

Hi all,
I'm having a problem using the Solr ExtendedDisMax Query Parser with query that contains fielded searches inside not-plain queries.

The case is the following.

If I send to SOLR an edismax request (defType=edismax) with parameters

 1. qf=field1^10
 2. q=field2:ciao
 3. debugQuery=on (for debug purposes)

solr parses the query as I expect, in fact the debug part of the response tells me that

     [parsedquery_toString] => +field2:ciao
But if I make the expression only a bit more complex, like putting the condition into brackets:
 1. qf=field1^10
 2. q=(field2:ciao)
I get

    [parsedquery_toString] => +(((field1:field2:^2.0) (field1:ciao^2.0))~2)

where Solr seems not recognize the field syntax.

I've not found any mention to this behavior in the [documentation][1], where instead they say that

"This parser supports full Lucene QueryParser syntax including boolean operators 'AND', 'OR', 'NOT', '+' and '-', fielded search, term boosting, fuzzy..."

This problem is really annoying me because I would like to do compelx boolean and fielded queries even with the edismax parser. 

Do you know a way to workaround this?

Thank you in advance.

Nicolò Martini


[1]: http://wiki.apache.org/solr/ExtendedDisMax

Re: Fielded searches with Solr ExtendedDisMax Query Parser

Posted by Nicolò Martini <el...@gmail.com>.
Great! Thank you a lot, that solved all my problems.

Regards,
Nicolò

Il giorno 06/giu/2012, alle ore 14:55, Jack Krupansky ha scritto:

> This is a known (unfixed) bug. The workaround is to add a space between each left parenthesis and field name.
> 
> See:
> https://issues.apache.org/jira/browse/SOLR-3377
> 
> So,
> 
> q=(field2:ciao)
> 
> becomes:
> 
> q=( field2:ciao)
> 
> -- Jack Krupansky
> 
> -----Original Message----- From: Nicolò Martini
> Sent: Wednesday, June 06, 2012 8:35 AM
> To: solr-user@lucene.apache.org
> Subject: Fielded searches with Solr ExtendedDisMax Query Parser
> 
> Hi all,
> I'm having a problem using the Solr ExtendedDisMax Query Parser with query that contains fielded searches inside not-plain queries.
> 
> The case is the following.
> 
> If I send to SOLR an edismax request (defType=edismax) with parameters
> 
> 1. qf=field1^10
> 2. q=field2:ciao
> 3. debugQuery=on (for debug purposes)
> 
> solr parses the query as I expect, in fact the debug part of the response tells me that
> 
>    [parsedquery_toString] => +field2:ciao
> But if I make the expression only a bit more complex, like putting the condition into brackets:
> 1. qf=field1^10
> 2. q=(field2:ciao)
> I get
> 
>   [parsedquery_toString] => +(((field1:field2:^2.0) (field1:ciao^2.0))~2)
> 
> where Solr seems not recognize the field syntax.
> 
> I've not found any mention to this behavior in the [documentation][1], where instead they say that
> 
> "This parser supports full Lucene QueryParser syntax including boolean operators 'AND', 'OR', 'NOT', '+' and '-', fielded search, term boosting, fuzzy..."
> 
> This problem is really annoying me because I would like to do compelx boolean and fielded queries even with the edismax parser.
> 
> Do you know a way to workaround this?
> 
> Thank you in advance.
> 
> Nicolò Martini
> 
> 
> [1]: http://wiki.apache.org/solr/ExtendedDisMax= 


Re: Fielded searches with Solr ExtendedDisMax Query Parser

Posted by Jack Krupansky <ja...@basetechnology.com>.
This is a known (unfixed) bug. The workaround is to add a space between each 
left parenthesis and field name.

See:
https://issues.apache.org/jira/browse/SOLR-3377

So,

q=(field2:ciao)

becomes:

q=( field2:ciao)

-- Jack Krupansky

-----Original Message----- 
From: Nicolò Martini
Sent: Wednesday, June 06, 2012 8:35 AM
To: solr-user@lucene.apache.org
Subject: Fielded searches with Solr ExtendedDisMax Query Parser

Hi all,
I'm having a problem using the Solr ExtendedDisMax Query Parser with query 
that contains fielded searches inside not-plain queries.

The case is the following.

If I send to SOLR an edismax request (defType=edismax) with parameters

1. qf=field1^10
2. q=field2:ciao
3. debugQuery=on (for debug purposes)

solr parses the query as I expect, in fact the debug part of the response 
tells me that

     [parsedquery_toString] => +field2:ciao
But if I make the expression only a bit more complex, like putting the 
condition into brackets:
1. qf=field1^10
2. q=(field2:ciao)
I get

    [parsedquery_toString] => +(((field1:field2:^2.0) (field1:ciao^2.0))~2)

where Solr seems not recognize the field syntax.

I've not found any mention to this behavior in the [documentation][1], where 
instead they say that

"This parser supports full Lucene QueryParser syntax including boolean 
operators 'AND', 'OR', 'NOT', '+' and '-', fielded search, term boosting, 
fuzzy..."

This problem is really annoying me because I would like to do compelx 
boolean and fielded queries even with the edismax parser.

Do you know a way to workaround this?

Thank you in advance.

Nicolò Martini


[1]: http://wiki.apache.org/solr/ExtendedDisMax=