Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
9.2.1
-
None
-
None
Description
Efi features are not correctly printed when these conditions persist:
- Asking for logging:
fl=[features format=dense efi.myEfiFeature=2]
- Default feature store used (no feature store passed)
- Asking for reranking:
{!ltr model=my_model efi.myEfiFeature=3}
- Different efis values are passed between logging and reranking: efi.myEfiFeature=2 vs efi.myEfiFeature=3
The efis logged are computed based on the reranking parameters and not the logging ones.
Example of response:
"docs": [ { "id": "41", "score": 4999.0, "[features]": "test_efi_0=4996.0,test_efi_1=0.0,efi_feature=3.0" }, { "id": "80", "score": 4955.0, "[features]": "test_efi_0=4952.0,test_efi_1=0.0,efi_feature=3.0" }, ...
I would expect to have efi_feature=2.0 in this scenario.
This is due to the org.apache.solr.ltr.response.transform.LTRFeatureLoggerTransformerFactory.FeatureTransformer#setupRerankingQueriesForLogging method, which is not assigning the transformerExternalFeatureInfo parameter to the LTRScoringQuery if we have done reranking and the transformerFeatureStore is null (not passed in fl at query time).