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=