Hi everyone, At my "Learning-to-Rank with Apache Solr and Bees" talk on Friday [1] there was one question that wasn't properly understood (by me) and so not fully answered in the room but later in individual conversation the question/answer became clearer. So here I just wanted to follow-up and share with everyone (using a fictional mini example).
Hope that helps. Thanks, Christine --- Scenario: * a schema with multiple text fields e.g. title, summary, details * search queries consider the text fields Intention: * have features that capture how well the user query matches various text fields Example queries and feature definitions: * without LTR: select?q=developer select?q=chef * with LTR: select?q=developer&rq={!ltr model=myDemoModel efi.userQuery=developer} select?q=chef&rq={!ltr model=myDemoModel efi.userQuery=chef} Notice how in the above example the two users' queries pass different efi.userQuery values and how the feature definitions below include a ${userQuery} placeholder. myDemoFeatures.json [ { "name" : "userQueryTitle", "class" : "org.apache.solr.ltr.feature.SolrFeature", "params" : { "q" : "title:${userQuery}" } }, { "name" : "userQuerySummary", "class" : "org.apache.solr.ltr.feature.SolrFeature", "params" : { "q" : "summary:${userQuery}" } }, { "name" : "userQueryDetails", "class" : "org.apache.solr.ltr.feature.SolrFeature", "params" : { "q" : "details:${userQuery}" } } ] --- Links [1] http://sched.co/BAwI [2] http://lucene.apache.org/solr/guide/6_6/learning-to-rank.html [3] https://github.com/cpoerschke/ltr-with-bees