Chetan Mehrotra created OAK-5448:
Summary: Aggregate logic should optimize for case where patterns
do not include wildcard
Project: Jackrabbit Oak
Issue Type: Improvement
Reporter: Chetan Mehrotra
Assignee: Chetan Mehrotra
Fix For: 1.5.18, 1.6
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
- name = "jcr:content/status"
- propertyIndex = true
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