jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Klimetschek (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCR-2733) RepositoryException in xpath query with the "OR" keyword
Date Mon, 30 Aug 2010 09:49:53 GMT

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

Alexander Klimetschek commented on JCR-2733:

This is ok, as Jackrabbit wants to make the Lucene full-text search language available through
jcr:contains. If you don't want that, escaping using double-quotes as you did, is the way
to go.

Not sure, but maybe this exception which seems to come only because there is no operand before
the OR, could be handled more gracefully. Could you post the full stacktrace to see if this
exception is thrown inside Lucene or by Jackrabbit.

> 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.

View raw message