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=

Reply via email to