Hi, We have search enhancements requests based on search results relevance like -
1. boosting score of recently modified documents. 2. boosting documents which are created/last updated by current session user.(OR boosting on basis specific docfield value). 3. boosting documents with a field value in certain range. these are similar to Solr Function Queries[0] use case. I have logged a issue[1]. With Chetan's help I came up with a custom scorer implementation[2], which exposes lucene CustomScoreQuery[3] via OSGI and one can implement custom ScorerProvider and use it by configuring index definition with custom ScorerProvider name. Implementation details - 1. ScorerProvider - ScorerProvider creates lucene CustomScoreQuery, which user can implement and configure its name in index definition. 2. ScorerProviderFactory - ScorerProviderFactoryImpl tracks all ScorerProvider services bound and looks up for ScorerProvider from its name. 3. test - customScoreQuery - boost document with specific docfield value ( in this case jcr:createdBy containing 'foo') Please review and provide feedbacks. Also, this implementation has following requirements - 1. Scorer uses lucene packges(for now exported all lucene packages from oak-lucene) 2. Some way to access field names in scorer implementation on the basis of name defined in property definition Thanks [0] http://wiki.apache.org/solr/FunctionQuery [1] https://issues.apache.org/jira/browse/OAK-2399 [2] https://github.com/rishabhmaurya/jackrabbit-oak/commit/9042200bd [3] http://lucene.apache.org/core/4_7_1/queries/org/apache/lucene/queries/CustomScoreQuery.html
