Hi Team, With OAK-2178 some basic support for boosting has been added. However Jackrabbit used to support lots more fine grained boosting [1]. So for boost feature to be used in real world scenarios should we aim to implement similar support i.e. provide
1. Conditional boosting based on some criteria 2. Node level boosting based on NodeType Q.1 - Should we support all or some of that. It would introduce some complexity but probably for feature to be useful they need to be supported Q.2 - Config format - If we need to support all (or some of that) we would need to decide the index definition format Configuration Format ----------------------------- As documented in [2] the new configuration format proposed and being used with Lucene Property Index is like following "assetIndex": { "jcr:primaryType":"oak:QueryIndexDefinition", "declaringNodeTypes":"app:Asset", "includePropertyNames":["title", "type"], "type":"lucene", "async":"async", "fulltextEnabled":false, "orderedProps":["jcr:content/jcr:lastModified"] "properties": { "title" : { "boost" : 2.0 } } } This works fine for property index where we would restrict the definition to some specific NodeType and specific propertyNames However for full text index which is more generic we would need to have way to distinguish properties for specific nodeTypes If we need to utilize same format to capture index rules at [2] then one way would be to capture nodeType scoped property definitions separately -------------------- "properties": { "title" : { "boost" : 2.0 } /* Unscoped property */ }, "indexRules" : { "nt:unstructured" : { "properties" :{ "title" : { /* Scoped property */ "boost" : 1.5 } } }, "nt:file" : { "boost" : "2.0", "condition" : "@priority = 'high'" } } ----------------------- With current design most of the conditions can be support except one involving ancesstor as Oak NodeState model does not allow traversing up easily Thoughts? Chetan Mehrotra [1] http://wiki.apache.org/jackrabbit/IndexingConfiguration [2] http://jackrabbit.apache.org/oak/docs/query/lucene.html