[ 
https://issues.apache.org/jira/browse/JCR-2733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12904648#action_12904648
 ] 

Marcel Reutegger commented on JCR-2733:
---------------------------------------

Please note that OR is also a keyword in JCR 1.0. See: 
http://www.day.com/specs/jcr/1.0/6.6.5.2_jcr_contains_Function.html

> RepositoryException in xpath query with the "OR" keyword
> --------------------------------------------------------
>
>                 Key: JCR-2733
>                 URL: https://issues.apache.org/jira/browse/JCR-2733
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: query, xpath
>    Affects Versions: 1.6.2, 2.1.0, 2.1.1
>            Reporter: fabrizio giustina
>
> Any string literal starting with "OR ", e.g.:
> //*[jcr:contains(@title, 'OR ME')]
> ends up in a javax.jcr.RepositoryException:
> Exception building query: org.apache.lucene.queryParser.ParseException: 
> Cannot parse 'OR ME': Encountered " <OR> "OR "" at line 1, column 0.
> I see this is due to the "OR" keyword interpreted by Lucene, like described 
> in http://stackoverflow.com/questions/1311304/keyword-or-and-search-in-lucene
> Is this expected? Shouldn't jackrabbit escape the input string before 
> creating the lucene query, since this is implementation-specific and OR 
> should not AFAIK be a reserved word in properly delimited string literals in 
> xpath queries?
> Also note that the similar "AND" keyword doesn't cause any problem.
> In order to fix it I must check and replace any input string starting with 
> "OR" adding quotes or lowercasing:
> //*[jcr:contains(@title, '"OR" ME')]
> //*[jcr:contains(@title, 'or ME')]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to