Solr 7.3.1上传MultipleAdditiveTreesModel模型报错求助
Solr 7.3.1: "Model type does not exist org.apache.solr.ltr.model.MultipleAdditiveTreesModel" 报错解决
看起来你遇到的核心问题是Solr没有加载到Learning to Rank(LTR)模块的依赖jar包,导致无法识别MultipleAdditiveTreesModel这个类。咱们一步步来解决:
1. 修正solrconfig.xml中的lib配置
你现在添加的是langid模块的lib,但MultipleAdditiveTreesModel属于LTR模块,需要替换成LTR对应的contrib目录配置:
<!-- 移除或替换原来的langid lib配置 --> <lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib/" regex=".*\.jar" /> <lib dir="${solr.install.dir:../../../..}/dist/solr-ltr-7.3.1.jar" />
解释:Solr 7.x版本中,LTR模块的核心依赖都放在contrib/ltr/lib目录下,同时需要显式加载dist目录下的solr-ltr-7.3.1.jar(版本号要和你的Solr版本完全匹配)。
2. 确认启动参数生效
你已经用-Dsolr.ltr.enabled=true启动Solr,这一步是正确的,但要确保启动命令确实传递了这个参数,比如:
bin/solr start -Dsolr.ltr.enabled=true
如果是用服务方式启动,也要确保这个JVM参数被正确配置到启动脚本里。
3. 验证模型定义(可选)
虽然当前报错是类找不到,但你的最简模型结构可以后续再确认:MultipleAdditiveTreesModel的trees节点里,根节点的结构是否符合Solr 7.3.1的要求?不过这个问题建议在解决lib加载问题后再排查。
完成以上步骤后,重启Solr,再尝试上传模型应该就能成功识别MultipleAdditiveTreesModel类了。
内容的提问来源于stack exchange,提问作者yoni weidenfeld
相关产品推荐
相关产品推荐

