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 2019/04/09 10:37:14 UTC

[jira] [Updated] (OAK-3767) Provide a way to extend shipped index definitions

     [ 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: 1.14.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.0, 1.14.0
>
>
> 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
(v7.6.3#76005)