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 Roopa Rao <ro...@gmail.com> on 2018/03/07 23:19:28 UTC

LTR not able to upload org.apache.solr.ltr.model.MultipleAdditiveTreesModel

Trying to upload a simple MultipleAdditiveTreesModel, however I am getting an
error 
"msg":"org.apache.solr.ltr.model.ModelException: Model type does not exist
org.apache.solr.ltr.model.MultipleAdditiveTreesModel"

Root cause seems to be a syntax error in the model file?
I did copy this from the example
https://lucene.apache.org/solr/guide/6_6/learning-to-rank.html#LearningToRank-Examples

Made sure all the values have surrounded by quotes

Made sure features specified in the model are in the features file

Did anyone else face this? what was the resolution?

Thanks,
Roopa





--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html

Re: LTR not able to upload org.apache.solr.ltr.model.MultipleAdditiveTreesModel

Posted by Roopa Rao <ro...@gmail.com>.
Here is the stacktrace

Caused by: org.apache.solr.common.SolrException: Failed to create new
ManagedResource /schema/model-store of type
org.apache.solr.ltr.store.rest.ManagedModelStore due to:
org.apache.solr.common.SolrException:
org.apache.solr.ltr.model.ModelException: Model type does not exist
org.apache.solr.ltr.model.MultipleAdditiveTreesModel
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:965)
at org.apache.solr.core.SolrCore.reload(SolrCore.java:641)
at org.apache.solr.core.CoreContainer.reload(CoreContainer.java:1107)
... 37 more
Caused by: org.apache.solr.common.SolrException: Failed to create new
ManagedResource /schema/model-store of type
org.apache.solr.ltr.store.rest.ManagedModelStore due to:
org.apache.solr.common.SolrException:
org.apache.solr.ltr.model.ModelException: Model type does not exist
org.apache.solr.ltr.model.MultipleAdditiveTreesModel
at
org.apache.solr.rest.RestManager.createManagedResource(RestManager.java:700)
  a
at
org.apache.solr.rest.RestManager.addRegisteredResource(RestManager.java:666)
at org.apache.solr.rest.RestManager.access$300(RestManager.java:59)
at
org.apache.solr.rest.RestManager$Registry.registerManagedResource(RestManager.java:231)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.registerManagedModelStore(ManagedModelStore.java:52)
at
org.apache.solr.ltr.search.LTRQParserPlugin.inform(LTRQParserPlugin.java:119)
at
org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:719)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:944)
... 39 more
Caused by: org.apache.solr.common.SolrException:
org.apache.solr.ltr.model.ModelException: Model type does not exist
org.apache.solr.ltr.model.MultipleAdditiveTreesModel
at
org.apache.solr.ltr.store.rest.ManagedModelStore.addModelFromMap(ManagedModelStore.java:137)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.loadStoredModels(ManagedModelStore.java:127)
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)
... 46 more
Caused by: org.apache.solr.ltr.model.ModelException: Model type does not
exist org.apache.solr.ltr.model.MultipleAdditiveTreesModel
at
org.apache.solr.ltr.model.LTRScoringModel.getInstance(LTRScoringModel.java:103)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.fromLTRScoringModelMap(ManagedModelStore.java:235)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.initWrapperModel(ManagedModelStore.java:254)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.fromLTRScoringModelMap(ManagedModelStore.java:245)
at
org.apache.solr.ltr.store.rest.ManagedModelStore.addModelFromMap(ManagedModelStore.java:134)
... 51 more
Caused by: org.apache.solr.common.SolrException: Error instantiating class:
'org.apache.solr.ltr.model.MultipleAdditiveTreesModel'
at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:655)
at
org.apache.solr.ltr.model.LTRScoringModel.getInstance(LTRScoringModel.java:93)
... 55 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:637)
... 56 more
Caused by: java.lang.NullPointerException
at
org.apache.solr.ltr.model.MultipleAdditiveTreesModel.<init>(MultipleAdditiveTreesModel.java:308)
... 61 more

On Wed, Mar 14, 2018 at 10:32 AM, Alessandro Benedetti <a.benedetti@sease.io
> wrote:

> This is the piece of code involved :
>
> "try {
>       // create an instance of the model
>       model = solrResourceLoader.newInstance(
>           className,
>           LTRScoringModel.class,
>           new String[0], // no sub packages
>           new Class[] { String.class, List.class, List.class, String.class,
> List.class, Map.class },
>           new Object[] { name, features, norms, featureStoreName,
> allFeatures, params });
>       if (params != null) {
>         SolrPluginUtils.invokeSetters(model, params.entrySet());
>       }
>     } catch (final Exception e) {
>       throw new ModelException("Model type does not exist " + className,
> e);
>     }"
>
> I admit it is generic and contains even a catch "Exception" clause, but
> wasn't it logging the stacktrace ?
> Just out of curiosity, how was the entire stacktrace ?
>
> This may help to improve it.
>
> Regards
>
>
>
> -----
> ---------------
> Alessandro Benedetti
> Search Consultant, R&D Software Engineer, Director
> Sease Ltd. - www.sease.io
> --
> Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html
>

Re: LTR not able to upload org.apache.solr.ltr.model.MultipleAdditiveTreesModel

Posted by Alessandro Benedetti <a....@sease.io>.
This is the piece of code involved :

"try {
      // create an instance of the model
      model = solrResourceLoader.newInstance(
          className,
          LTRScoringModel.class,
          new String[0], // no sub packages
          new Class[] { String.class, List.class, List.class, String.class,
List.class, Map.class },
          new Object[] { name, features, norms, featureStoreName,
allFeatures, params });
      if (params != null) {
        SolrPluginUtils.invokeSetters(model, params.entrySet());
      }
    } catch (final Exception e) {
      throw new ModelException("Model type does not exist " + className, e);
    }"

I admit it is generic and contains even a catch "Exception" clause, but
wasn't it logging the stacktrace ?
Just out of curiosity, how was the entire stacktrace ?

This may help to improve it.

Regards



-----
---------------
Alessandro Benedetti
Search Consultant, R&D Software Engineer, Director
Sease Ltd. - www.sease.io
--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html

Re: LTR not able to upload org.apache.solr.ltr.model.MultipleAdditiveTreesModel

Posted by Roopa Rao <ro...@gmail.com>.
Hi Alessandro,

I figured the issue, the model was using a feature which was not in the
features file. The error was very generic so was hard to find this.


Thank you,
Roopa

On Wed, Mar 14, 2018 at 7:16 AM, Alessandro Benedetti <a....@sease.io>
wrote:

> Hi Roopa,
> that model changed name few times, which Apache Solr version are you using
> ?
> It is very likely you are using a class name not in sync with your Apache
> Solr version.
>
> Regards
>
>
>
> -----
> ---------------
> Alessandro Benedetti
> Search Consultant, R&D Software Engineer, Director
> Sease Ltd. - www.sease.io
> --
> Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html
>

Re: LTR not able to upload org.apache.solr.ltr.model.MultipleAdditiveTreesModel

Posted by Alessandro Benedetti <a....@sease.io>.
Hi Roopa,
that model changed name few times, which Apache Solr version are you using ?
It is very likely you are using a class name not in sync with your Apache
Solr version.

Regards



-----
---------------
Alessandro Benedetti
Search Consultant, R&D Software Engineer, Director
Sease Ltd. - www.sease.io
--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html