You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "Kiran (Jira)" <ji...@apache.org> on 2022/06/01 16:51:00 UTC

[jira] [Updated] (SOLR-16227) Solr SQL query parsing fails on multiple LIKE clauses and multiple terms

     [ https://issues.apache.org/jira/browse/SOLR-16227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kiran updated SOLR-16227:
-------------------------
    Description: 
 
{code:java}
select count(*) as QUERY_COUNT from test_index WHERE (name LIKE 'Sample Temp*') AND (deploy_id LIKE 'aws*') HAVING count(*) >= 0{code}
 

Above query fails with error 
{color:#ff0000}{color}
{code:java}
    "msg":"org.apache.solr.search.SyntaxError: org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'name:\"Sample': Lexical error at line 1, column 13.  Encountered: <EOF> after : \"\\\"Sample\"",{code}
{color:#ff0000}{color}
 

The bug is in SolrFilter which translates the query as 
{color:#ff0000}{color}
{code:java}
({!complexphrase}name:"Sample Temp*" AND deploy_id:aws*){code}
{color:#ff0000}{color}
which fails because of local params parsing (?) I think

If Solr SQL rewrites the query as
{code:java}
({!complexphrase v="name:\"Sample Temp*\"" AND deploy_id:aws*) {code}
 

it works

 

  was:
 
{code:java}
select count(*) as QUERY_COUNT from test_index WHERE (name LIKE 'Sample Temp*') AND (deploy_id LIKE 'aws*') HAVING count(*) >= 0{code}
 

 

 

Above query fails with error 
{color:#FF0000}    "msg":"org.apache.solr.search.SyntaxError: org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'name:\"Sample': Lexical error at line 1, column 13.  Encountered: <EOF> after : \"\\\"Sample\"",{color}
 

The bug is in SolrFilter which translates the query as 
{color:#FF0000}(\{!complexphrase}name:"Sample Temp*" AND deploy_id:aws*){color}
which fails because of local params parsing (?) I think

If Solr SQL rewrites the query as 


{code:java}
({!complexphrase v="name:\"Sample Temp*\"" AND deploy_id:aws*) {code}
 

it works

 


> Solr SQL query parsing fails on multiple LIKE clauses and multiple terms
> ------------------------------------------------------------------------
>
>                 Key: SOLR-16227
>                 URL: https://issues.apache.org/jira/browse/SOLR-16227
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Parallel SQL
>    Affects Versions: 9.0, 8.11.1
>            Reporter: Kiran
>            Priority: Major
>
>  
> {code:java}
> select count(*) as QUERY_COUNT from test_index WHERE (name LIKE 'Sample Temp*') AND (deploy_id LIKE 'aws*') HAVING count(*) >= 0{code}
>  
> Above query fails with error 
> {color:#ff0000}{color}
> {code:java}
>     "msg":"org.apache.solr.search.SyntaxError: org.apache.lucene.queryparser.classic.ParseException: Cannot parse 'name:\"Sample': Lexical error at line 1, column 13.  Encountered: <EOF> after : \"\\\"Sample\"",{code}
> {color:#ff0000}{color}
>  
> The bug is in SolrFilter which translates the query as 
> {color:#ff0000}{color}
> {code:java}
> ({!complexphrase}name:"Sample Temp*" AND deploy_id:aws*){code}
> {color:#ff0000}{color}
> which fails because of local params parsing (?) I think
> If Solr SQL rewrites the query as
> {code:java}
> ({!complexphrase v="name:\"Sample Temp*\"" AND deploy_id:aws*) {code}
>  
> it works
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org