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 "Dirk Rudolph (JIRA)" <ji...@apache.org> on 2017/12/22 12:43:00 UTC
[jira] [Created] (OAK-7110) Run rep:facet counting only once per
lucene result
Dirk Rudolph created OAK-7110:
---------------------------------
Summary: Run rep:facet counting only once per lucene result
Key: OAK-7110
URL: https://issues.apache.org/jira/browse/OAK-7110
Project: Jackrabbit Oak
Issue Type: Improvement
Components: lucene
Affects Versions: 1.6.7
Reporter: Dirk Rudolph
Priority: Minor
Currently facet counting [(calling Facets#getTopChildren)|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LucenePropertyIndex.java#L1752] is called for each facet field for each row. This is because constructing [QueryImpl|https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java#L876] reads all columns of each row and so it read the facets as well.
This might have a negative impact on performance extracting facets (not proven) and can be optimised by caching the counted topChildren for each field in the scope of the result, returning the cache result for subsequent calls.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)