Yuriy Koval created SOLR-14703:
----------------------------------

             Summary: Edismax parser replaces whitespace characters to spaces
                 Key: SOLR-14703
                 URL: https://issues.apache.org/jira/browse/SOLR-14703
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: query parsers
    Affects Versions: 8.4.1
            Reporter: Yuriy Koval


If, in an expression, a value with a whitespace char is directly preceded by a 
special char "[" or "(", whitespace char in the value gets replaced with space.

This does not happen, if there is a space between "[" and a double quote in the 
expression.

For example, if we have a document with cat_s field containing a value 
"57\n157", following query works:
{noformat}
"q":"cat_s:[ \"57\n157\" TO \"57\n157\"]",
"defType":"edismax"{noformat}
but
{noformat}
"q":"cat_s:[\"57\n157\" TO \"57\n157\"]",
"defType":"edismax{noformat}
does not, as lower boundary value gets replaces with "57 157" in 
ExtendedDismaxQParser after following calls
{code:java}
List<Clause> clauses = splitIntoClauses(userQuery, false);
String mainUserQuery = rebuildUserQuery(clauses, 
config.lowercaseOperators);{code}
As a workaround, we need to add a space before a double quote in expressions.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to