Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
4.3.1
-
None
-
None
Description
I have an edismax query with the following parameters:
- q=("jenkins " OR text:"jenkins")
- Yes, there is a space in "jenkins "
- qf=used_name^7 text
Queries to the field used_name are analyzed like this
<analyzer type="query"> <tokenizer class="solr.KeywordTokenizerFactory"/> <filter class="solr.PatternReplaceFilterFactory" pattern="(,|\s)+" replacement=" "/> <filter class="solr.TrimFilterFactory"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer>
Queries to the field text are anayzed like this:
<analyzer type="query"> <tokenizer class="solr.WhitespaceTokenizerFactory"/> <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="0" catenateAll="0" preserveOriginal="1"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.ASCIIFoldingFilterFactory" /> </analyzer>
In Solr admin console, I can see the query is parsed wrongly:
+((used_name:jenkins^7.0 | text:jenkins) (used_name:text:^7.0 | (text:text: text:text)) (used_name:jenkins^7.0 | text:jenkins))
See that (text:text: text:text)?
As a workaround I leave a space between parentheses and what they enclose, i.e. q=( "jenkins " OR text:"jenkins" ), then the query is parsed as I expect, i.e.
+((used_name:jenkins^7.0 | text:jenkins) text:jenkins)
The query is also parsed correctly if there's no space in "jenkins".
Attachments
Issue Links
- is related to
-
SOLR-3377 eDismax: A fielded query wrapped by parens is not recognized
- Closed