jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Reschke (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (JCR-3611) Extend index configuration to support pluggable aggregation filters
Date Thu, 27 Jun 2013 13:26:19 GMT

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

Julian Reschke updated JCR-3611:

    Attachment: aggregate-filter-proposal.diff

Proposed change (WIP, no proper test case)
> Extend index configuration to support pluggable aggregation filters
> -------------------------------------------------------------------
>                 Key: JCR-3611
>                 URL: https://issues.apache.org/jira/browse/JCR-3611
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>          Components: query
>            Reporter: Julian Reschke
>            Priority: Minor
>         Attachments: aggregate-filter-proposal.diff
> It can be useful to restrict the set of nodes to be aggregated in the search index based
on their current state.
> It's currently possible to achieve this by wrapping Jackrabbit's IndexingConfigurationImpl
and AggregateRuleImpl, essentially post-processing/filtering the node states that the base
classes collect.
> This works fine for now, but requires quite some glue code; we may want to make that
> Thus, I'd like to extend the index aggregate configuration (see <http://wiki.apache.org/jackrabbit/IndexingConfiguration>)
so that one (or more) filter classes can be specified for each aggregate rule. Those filters
would implement a simple API:
> public interface AggregationFilter {
>      void init(QueryHandlerContext context, NamespaceMappings
> namespaceMappings);
>      /**
>       * Check whether the given node should be aggregated under the
> container node
>       * @param ns node to be checked
>       * @param container container node
>       * @return whether to aggregate it
>       */
>      boolean canIncludeInResult(NodeState ns, NodeState container);
> }
> Jackrabbit's AggregateRuleImpl could then instantiate these filters and
> apply them, and thus no additional glue code would be needed.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message