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: [email protected]
For additional commands, e-mail: [email protected]