Hi Dariusz, On Jan 12, 2018 14:40, "Dariusz Wojtas" <dwoj...@gmail.com> wrote:
Hi, I am working with the LTR rescoring. Works beautifully, but I am curious about something. How do I specify the feature store in a way different than using the [features] syntax? [features store=yourFeatureStore] What is the problem with this syntax? If the problem is the name of the field, you can also call it by doing fl=title,authors,myfield=[features store=yourFeatureStore] I can't think of alternative ways.. I have a range of models in my custom feature store, with plenty of features implemented. I have found that when I call LTR with model using only two features, Solr still executes them all. My setup in solrconfig.xml - <str name="fl">id,score,why_score:[explain style=nl],[features store=store_incidentDB]</str> <str name="rq">{!ltr reRankDocs=$reRankDocs model=simpleModelA}</str> -- simpleModel above only uses LinearModel with 2 features. What do I see in results? In response I can see it has executed ALL features (there are values calculated) in section: 1) -> response -> result -> doc -> <str name="[features]">HERE</str> In addition, there is my model executed and only TWO features of the executed model are presented in: It is intended, the reason is that usually you want to execute your model and at the same time log a *superset* of the features to train the next model. If you want to compute only the features of the model you can define a featureStore that matches exactly the features that you have in the model. 2) -> response -> debug -> explain Why do I see all features being executed, if the specified model only contains two features? I tried to reduce 'fl' to: <str name="fl">id,score,why_score:[explain style=nl]</str> and id works as expected then: 1. additional features are not executed (correct) 2. my model works, only two features of the selected model (correct) And the final questions for this long email are: 1. why does it execute all features when i specify 'store'? 2. how do I specify the 'store', if I have more stores, but do not want to execute all their features? Just define a feature store that matches the features that you have in the model. Please note that the featureStore that you specify in fl= [features] field **will not** affect the reranking (the model will compute only the features that are specified in the model json file), you should ask for the [features] only if you want to log them. Please do not hesitate to ask if something is not clear ;) Cheers, Diego Best regards, Dariusz Wojtas