You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Kamal Kishore Aggarwal <kk...@gmail.com> on 2019/06/12 11:40:55 UTC
Facing issue ith MinMaxNormalizer
Hi All,
Appreciate if someone can help.
I am using LTR with MinMaxNormalizer in solr 6.6.2.
Model.json
"class": "org.apache.solr.ltr.model.MultipleAdditiveTreesModel",
"name": "XGBOOST-BBB-LTR-Model",
"store":"BBB-Feature-Model",
"features": [
{
"name": "TFIDF",
"norm":{
"class" : "org.apache.solr.ltr.norm.MinMaxNormalizer",
"params" : { "min":"0.0", "max":"1.0"}
}
},
{
"name": "p_ratings_f",
"norm":{
"class" : "org.apache.solr.ltr.norm.MinMaxNormalizer",
"params" : { "min":"1.0", "max":"5.0"}
}
},
{
"name": "p_instore_trans_cnt_f",
"norm":{
"class" : "org.apache.solr.ltr.norm.MinMaxNormalizer",
"params" : { "min":"1.0", "max":"209561.0" }
}
},
{
"name": "p_reviews_f",
"norm":{
"class" : "org.apache.solr.ltr.norm.MinMaxNormalizer",
"params" : { "min":"0.0", "max":"58375.0"}
}
}
The model got uploaded successfully, but when I reloaded the collection,
it failed and below error is observed:
Caused by: java.lang.RuntimeException: Error invoking setter setMin on
class : org.apache.solr.ltr.norm.MinMaxNormalizer
at
org.apache.solr.util.SolrPluginUtils.invokeSetters(SolrPluginUtils.java:1084)
at
org.apache.solr.ltr.norm.Normalizer.getInstance(Normalizer.java:49)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.fromNormalizerMap(ManagedModelStore.java:293)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.createNormalizerFromFeatureMap(ManagedModelStore.java:276)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.fromLTRScoringModelMap(ManagedModelStore.java:230)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.addModelFromMap(ManagedModelStore.java:133)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.loadStoredModels(ManagedModelStore.java:126)
at
org.apache.solr.ltr.search.LTRQParserPlugin.onManagedResourceInitialized(LTRQParserPlugin.java:133)
at
org.apache.solr.rest.ManagedResource.notifyObserversDuringInit(ManagedResource.java:115)
at
org.apache.solr.rest.ManagedResource.loadManagedDataAndNotify(ManagedResource.java:91)
at
org.apache.solr.rest.RestManager.createManagedResource(RestManager.java:694)
... 41 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.solr.util.SolrPluginUtils.invokeSetters(SolrPluginUtils.java:1082)
... 51 more
Caused by: java.lang.NumberFormatException: For input string: ""0.0""
at
sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:451)
at
org.apache.solr.ltr.norm.MinMaxNormalizer.setMin(MinMaxNormalizer.java:58)
I tried uploading the model without double quotes in param value for min
and max, it also got failed with below error.
"java.lang.IllegalArgumentException: argument type mismatch\n\tat
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n\tat
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n\tat
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat
java.lang.reflect.Method.invoke(Method.java:498)\n\tat
org.apache.solr.util.SolrPluginUtils.invokeSetters(SolrPluginUtils.java:1082)\n\tat
org.apache.solr.ltr.norm.Normalizer.getInstance(Normalizer.java:49)\n\tat
org.apache.solr.ltr.store.rest.ManagedModelStore.fromNormalizerMap(ManagedModelStore.java:293)\n\tat
org.apache.solr.ltr.store.rest.ManagedModelStore.createNormalizerFromFeatureMap(ManagedModelStore.java:276)\n\tat
org.apache.solr.ltr.store.rest.ManagedModelStore.fromLTRScoringModelMap(ManagedModelStore.java:230)\n\tat
org.apache.solr.ltr.store.rest.ManagedModelStore.addModelFromMap(ManagedModelStore.java:133)\n\tat
org.apache.solr.ltr.store.rest.ManagedModelStore.applyUpdatesToManagedData(ManagedModelStore.java:162)\n\tat
Also, I can see on the collection that there is escape in double quotes in
model on model api (s/s below).
[image: image.png]
Regards
Kamal Kishore