This page discusses uncommitted code and design. See https://issues.apache.org/jira/browse/SOLR-2580 for the main JIRA issue tracking this development.
In many search applications, there is a need to specify business rules that effect the outcome of the search. For instance, in ecommerce, merchandisers (who are not programmers) often wish to promote results based on sales or alter facets based on brand names. This page describes the capabilities in Solr that allow one to solve this and other related problems.
The goal of this work is to make plugging in a rules engine (such as Drools, JRules, or others) into Solr such that all of the tools available in those engines for writing rules can be applied to various aspects of searching and indexing. Once completed, Solr will define interfaces to the engine as well as provide a reference implementation. In some regards, this is a significant extension to the capabilities in the QueryElevationComponent.
BusinessRulesAdvanced – Discusses design and how to implement your own engine