Create a new Search Component to alter queries based on business rules. 
------------------------------------------------------------------------

                 Key: SOLR-2580
                 URL: https://issues.apache.org/jira/browse/SOLR-2580
             Project: Solr
          Issue Type: New Feature
            Reporter: Tomás Fernández Löbbe


The goal is to be able to adjust the relevance of documents based on user 
defined business rules.

For example, in a e-commerce site, when the user chooses the "shoes" category, 
we may be interested in boosting products from a certain brand. This can be 
expressed as a rule in the following way:

rule "Boost Adidas products when searching shoes"
    when
        $qt : QueryTool()
        TermQuery(term.field=="category", term.text=="shoes")
    then
        $qt.boost("{!lucene}brand:adidas");
end

The QueryTool object should be used to alter the main query in a easy way. Even 
more human-like rules can be written:

rule "Boost Adidas products when searching shoes"
 when
    Query has term "shoes" in field "product"
 then
    Add boost query "{!lucene}brand:adidas"
end

These rules are written in a text file in the config directory and can be 
modified at runtime. Rules will be managed using JBoss Drools: 
http://www.jboss.org/drools/drools-expert.html

On a first stage, it will allow to add boost queries or change sorting fields 
based on the user query, but it could be extended to allow more options.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to