[ 
https://issues.apache.org/jira/browse/OAK-955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14738822#comment-14738822
 ] 

Thomas Mueller commented on OAK-955:
------------------------------------

I don't see a reasonably easy way to solve this in Oak. A possible workaround 
is to use relative path in constraints, for example: "contains(title, 'x') and 
contains(child/title, 'y')".

> Query: Filter doesn't contain fulltext constraints from joins 
> --------------------------------------------------------------
>
>                 Key: OAK-955
>                 URL: https://issues.apache.org/jira/browse/OAK-955
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: core, query
>            Reporter: Alex Parvulescu
>            Assignee: Thomas Mueller
>            Priority: Minor
>              Labels: performance, resilience
>             Fix For: 1.3.7
>
>
> Example query:
> {code}
> SELECT a.* 
> FROM [nt:unstructured] AS a 
> INNER JOIN [nt:unstructured] AS b 
> ON b.[jcr:uuid] = a.testref 
> WHERE a.type = 'child' 
> AND (CONTAINS(a.*, 'testJoinWithOR4') OR b.type = 'parent' AND CONTAINS(b.*, 
> 'testJoinWithOR4'))
> {code}
> I'm not sure why this happens, but I noticed stepping through the code that 
> the filter generated on the query doesn't contain any fulltext constraints. 
> It does however contain the 'type' info which will trick the query engine 
> into picking a property index, failing the test because is returns more 
> results than it should.
> See failing tests on the lucene module:
>  - org.apache.jackrabbit.core.query.JoinTest#testJoinWithOR4
>  - org.apache.jackrabbit.core.query.JoinTest#testJoinWithOR5



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

Reply via email to