Description
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')]