jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davide Giannella (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-3767) Provide a way to extend shipped index definitions
Date Wed, 09 Jan 2019 17:06:07 GMT

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

Davide Giannella updated OAK-3767:
    Fix Version/s:     (was: 1.10.0)

> Provide a way to extend shipped index definitions
> -------------------------------------------------
>                 Key: OAK-3767
>                 URL: https://issues.apache.org/jira/browse/OAK-3767
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: indexing, query
>            Reporter: Davide Giannella
>            Priority: Major
>             Fix For: 1.12
> We need to provide an explicit support for extending out of the box shipped index definition
by an application built on top of Oak. Consider a Sling based app which ships with an index
on assets like /oak:index/assetIndex. This application is now used in a project where some
project specific extensions are to be done i.e. some new custom asset properties are to be
indexed. Currently there are two options
> # Create new duplicate index - For project usage we can create a separate index which
includes the project specific properties. This has following downsides
> ## Increases index memory consumption - As both /oak:index/assetIndex and /oak:index/myAssetIndex
would index same asset nodes they would be storing the same asset path twice and hence cause
an increase in memory consumption by the index
> # Increase in indexing time - With increase in number of indexes at same level the indexing
time would increase
> # Ambiguity in index selection - As both indexes index same type of nodes they would
compete in answering queries related to assets leading to ambiguity in index selection by
query engine. 
> Given above it would be better to avoid such cases and provide an explicit support for
extending the index definitions. This can be done by enabling support for adding index definition
extensions under a sub directory in a sub directory under /oak:index
> {noformat}
> /oak:index
>   + assetIndex
>   + apps
>      + assetIndex
> {noformat}
> The indexing logic should then use the effective index definition for indexing and querying.

> *question*. Shall we allow this only under root or under any arbitrary path as well?
For example /content.

This message was sent by Atlassian JIRA

View raw message