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)