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 "Davide Giannella (JIRA)" <ji...@apache.org> on 2017/01/23 14:06:28 UTC

[jira] [Closed] (OAK-5448) Aggregate logic should optimize for case where patterns do not include wildcard

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

Davide Giannella closed OAK-5448.
---------------------------------

Bulk close for 1.5.18

> Aggregate logic should optimize for case where patterns do not include wildcard
> -------------------------------------------------------------------------------
>
>                 Key: OAK-5448
>                 URL: https://issues.apache.org/jira/browse/OAK-5448
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: lucene
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>             Fix For: 1.5.18, 1.6
>
>         Attachments: OAK-5448.patch
>
>
> Aggregate logic in oak-lucene currently tries to apply matcher on each of the child node of a modified parent node. This is required for those case where pattern involves wild card like aggregating '\*/\*/\*' pattern.
> However this performs poorly if the aggregate does not involve pattern. For e.g. if we have defined a property definition for 'jcr:content/@status' for nt:base
> {noformat}
>   + indexRules 
>    + nt:base 
>     + properties 
>      + status 
>       - name = "jcr:content/status"
>       - propertyIndex = true
> {noformat}
> For above definition current logic would try to apply the matcher for 'jcr:content' on each of the child nodes. So if we have a folder have 1000 entries it would read that many child nodes. 
> As a fix we should check if the aggregate path has wild card or not. if its specific then aggregate logic should directly lookup child with given name



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