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=