[jira] Commented: (JCR-967) Only search the index for the "jcr:system" tree if needed
[ https://issues.apache.org/jira/browse/JCR-967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506533 ] Marcel Reutegger commented on JCR-967: -- Oops, just found an issue with the patch. queryRootNode = XPathQueryBuilder.createQuery("//test/*", JCR_RESOLVER); assertTrue(queryRootNode.needsSystemTree()); will fail. > Only search the index for the "jcr:system" tree if needed > - > > Key: JCR-967 > URL: https://issues.apache.org/jira/browse/JCR-967 > Project: Jackrabbit > Issue Type: Improvement > Components: query >Affects Versions: 1.3 >Reporter: Christoph Kiehl > Attachments: patch.txt > > > Right now every time a query is executed the index of the current workspace > as well as the index of the "jcr:system" tree is searched. A lot of queries > are not searching in the "jcr:system" tree at all therefore it should be > checked if the query contains paths that include "jcr:system". There are two > relevant nodes in the query tree to find that out: > - what's the first location step and does it include the jcr:system tree? I > think that's an easy one. > - does the query contain a jcr:deref node? If there is an intermediate result > of a query may dereference into the jcr:system tree. > This should notably speed up query execution if you are working extensively > with versioning. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-967) Only search the index for the "jcr:system" tree if needed
[ https://issues.apache.org/jira/browse/JCR-967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506531 ] Marcel Reutegger commented on JCR-967: -- Looks good to me. Just one minor comment. I suggest we provide a default implementation QueryNode.needsSystemTree(), which returns false. Only the sub classes that differ from this would have to overwrite the method. > Only search the index for the "jcr:system" tree if needed > - > > Key: JCR-967 > URL: https://issues.apache.org/jira/browse/JCR-967 > Project: Jackrabbit > Issue Type: Improvement > Components: query >Affects Versions: 1.3 >Reporter: Christoph Kiehl > Attachments: patch.txt > > > Right now every time a query is executed the index of the current workspace > as well as the index of the "jcr:system" tree is searched. A lot of queries > are not searching in the "jcr:system" tree at all therefore it should be > checked if the query contains paths that include "jcr:system". There are two > relevant nodes in the query tree to find that out: > - what's the first location step and does it include the jcr:system tree? I > think that's an easy one. > - does the query contain a jcr:deref node? If there is an intermediate result > of a query may dereference into the jcr:system tree. > This should notably speed up query execution if you are working extensively > with versioning. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-967) Only search the index for the "jcr:system" tree if needed
[ https://issues.apache.org/jira/browse/JCR-967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503359 ] Paco Avila commented on JCR-967: Ups, I didn't notice it. So, this would be a huge performance improvement on searchs... > Only search the index for the "jcr:system" tree if needed > - > > Key: JCR-967 > URL: https://issues.apache.org/jira/browse/JCR-967 > Project: Jackrabbit > Issue Type: Improvement > Components: query >Affects Versions: 1.3 >Reporter: Christoph Kiehl > > Right now every time a query is executed the index of the current workspace > as well as the index of the "jcr:system" tree is searched. A lot of queries > are not searching in the "jcr:system" tree at all therefore it should be > checked if the query contains paths that include "jcr:system". There are two > relevant nodes in the query tree to find that out: > - what's the first location step and does it include the jcr:system tree? I > think that's an easy one. > - does the query contain a jcr:deref node? If there is an intermediate result > of a query may dereference into the jcr:system tree. > This should notably speed up query execution if you are working extensively > with versioning. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-967) Only search the index for the "jcr:system" tree if needed
[ https://issues.apache.org/jira/browse/JCR-967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503354 ] Christoph Kiehl commented on JCR-967: - Even if you do exclude jcr:system in your query jackrabbit currently searches the lucene index for jcr:system as well although the resultset for that index will be empty. > Only search the index for the "jcr:system" tree if needed > - > > Key: JCR-967 > URL: https://issues.apache.org/jira/browse/JCR-967 > Project: Jackrabbit > Issue Type: Improvement > Components: query >Affects Versions: 1.3 >Reporter: Christoph Kiehl > > Right now every time a query is executed the index of the current workspace > as well as the index of the "jcr:system" tree is searched. A lot of queries > are not searching in the "jcr:system" tree at all therefore it should be > checked if the query contains paths that include "jcr:system". There are two > relevant nodes in the query tree to find that out: > - what's the first location step and does it include the jcr:system tree? I > think that's an easy one. > - does the query contain a jcr:deref node? If there is an intermediate result > of a query may dereference into the jcr:system tree. > This should notably speed up query execution if you are working extensively > with versioning. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (JCR-967) Only search the index for the "jcr:system" tree if needed
[ https://issues.apache.org/jira/browse/JCR-967?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503349 ] Paco Avila commented on JCR-967: But you can exclude jcr:system from the search query, isn't it? In my application my queries start from my "root node" not from the repository root. > Only search the index for the "jcr:system" tree if needed > - > > Key: JCR-967 > URL: https://issues.apache.org/jira/browse/JCR-967 > Project: Jackrabbit > Issue Type: Improvement > Components: query >Affects Versions: 1.3 >Reporter: Christoph Kiehl > > Right now every time a query is executed the index of the current workspace > as well as the index of the "jcr:system" tree is searched. A lot of queries > are not searching in the "jcr:system" tree at all therefore it should be > checked if the query contains paths that include "jcr:system". There are two > relevant nodes in the query tree to find that out: > - what's the first location step and does it include the jcr:system tree? I > think that's an easy one. > - does the query contain a jcr:deref node? If there is an intermediate result > of a query may dereference into the jcr:system tree. > This should notably speed up query execution if you are working extensively > with versioning. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.