Description
Lucene indexes currently support nodetype index in some form by specifying a property definition for "jcr:primaryType" with propertyIndex=true. However this can cause issue if such rules are mixed with other rules.
For supporting usecase where same lucene index supports multiple nodetype rules and can be used as pure nodetype index we should have a explicit support for indexing nodetypes.
Proposal
Any indexRule would support following properties
- nodeTypeIndex - Boolean indicating if this rule is for nodetype indexing
- sync - If nodetype index is sync
if nodeTypeIndex is enabled then any explicit property definition would be ignored. With this mode following index definition would be safe to use
(updated definition per final implementation)
/oak:index/nodeTypeLucene - jcr:primaryType = "oak:QueryIndexDefinition" - compatVersion = 2 - type = "lucene" - async = "async" - nodeTypeIndex = true + indexRules + nt:file - sync = true + app:Component
Here the rule order would not cause any affect as for any matching rule the nodes primary and mixin types would be indexed
Attachments
Issue Links
- blocks
-
OAK-6832 Synchronous nodetype lucene index support
- Closed