You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (JIRA)" <ji...@apache.org> on 2016/02/14 08:15:18 UTC

[jira] [Resolved] (OAK-3991) Incorrect resultset from XPATH, multiple ORs and Lucene full-text

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

Thomas Mueller resolved OAK-3991.
---------------------------------
    Resolution: Fixed

http://svn.apache.org/r1730290 (test)

> Incorrect resultset from XPATH, multiple ORs and Lucene full-text
> -----------------------------------------------------------------
>
>                 Key: OAK-3991
>                 URL: https://issues.apache.org/jira/browse/OAK-3991
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: lucene, query
>    Affects Versions: 1.2.10, 1.3.15
>            Reporter: Davide Giannella
>            Assignee: Thomas Mueller
>            Priority: Blocker
>             Fix For: 1.4, 1.3.16
>
>         Attachments: OAK-3991-test.patch
>
>
> In case of more complex xpath queries with a mix of ORs, ANDs and
> full-text the returned resultset is wrong. Some of the conditions are
> lost during the query execution. Most probably during the Filter
> creation.
> The query is:
> {noformat}
> /jcr:root/test//element(*, nt:unstructured)[ 
>   (
>     jcr:contains(., 'cinema') 
>     or @tags = 'architecture-keywords:building/cinema' 
>     or @tags = '/tags/architecture-keywords/building/cinema' 
>   ) 
>   and @status = 'amber' 
>   and ( 
>     not(@id) 
>     and ( not(@types) 
>     or (
>       not(@types = 'published') 
>       and not(@types = 'page') 
>       and not(@types = 'asset') 
>     ) 
>   )
> )]
> {noformat}
> In this case if you replace the @tags conditions with a
> {{jcr:contains}} rather than {{=}} it will make the query works. Which
> suggests the same root cause of OAK-2660.
> OAK-2660 was indirectly addressed by OAK-1617 but the OR->UNION
> conversion is not applied to subqueries of a UNION set.
> See [attached patch|^OAK-3991-test.patch] for a reproducing test case.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)