You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已配置Solr LTR模型与特征库,重排查询却提示找不到模型

Solr LTR重排提示找不到模型的排查方案

问题背景

已在Solr集合waterstest中配置好LTR,仅保留两个特征和基础线性模型用于测试:

  • 特征查询可正常返回特征与分数:
localhost:8983/solr/waterstest/query?q=*:*&fl=title,id,description,score,[features store=myWatersFeatureStore efi.boostedTitle=columns efi.boostedDescription=Heater]
  • 通过localhost:8983/solr/waterstest/schema/model-store可正常获取模型元数据:
{"responseHeader":{"status":0,"QTime":1},"models":[{"name":"myWatersModel","class":"org.apache.solr.ltr.model.LinearModel","store":"myWatersFeatureStore","features":[{"name":"isboostedTitle","norm":{"class":"org.apache.solr.ltr.norm.IdentityNormalizer"}},{"name":"isboostedDescription","norm":{"class":"org.apache.solr.ltr.norm.IdentityNormalizer"}}],"params":{"weights":{"isboostedTitle":0.4,"isboostedDescription":0.2}}}]} 

但执行重排查询时,提示找不到模型myWatersModel:

重排查询语句

localhost:8983/solr/waterstest/query?q=title:columns&rq={!ltr model=myWatersModel reRankDocs=100 efi.boostedTitle=columns efi.boostedDescription=Heater}&fl=id,score

返回错误

{"responseHeader":{"zkConnected":true,"status":400,"QTime":28,"params":{"q":"title:columns","fl":"id,score","rq":"{!ltr model=myWatersModel reRankDocs=100 efi.boostedTitle=columns efi.boostedDescription=Heater}"}},"error":{"metadata":["error-class","org.apache.solr.common.SolrException","root-error-class","org.apache.solr.common.SolrException","error-class","org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException","root-error-class","org.apache.solr.client.solrj.impl.BaseHttpSolrClient$RemoteSolrException"],"msg":"Error from server at null: cannot find model myWatersModel","code":400}}

特征文件内容

[
  {"store" : "myWatersFeatureStore","name" : "isboostedTitle","class" : "org.apache.solr.ltr.feature.SolrFeature","params" : { "q" :"{!field f=title}${boostedTitle}"  }},
  {"store" : "myWatersFeatureStore","name" : "isboostedDescription","class" : "org.apache.solr.ltr.feature.SolrFeature","params" : { "q" :"{!field f=description}${boostedDescription}" }}
]

模型文件内容

{"store" : "myWatersFeatureStore","name" : "myWatersModel","class" : "org.apache.solr.ltr.model.LinearModel","features" : [{ "name" : "isboostedTitle" },{ "name" : "isboostedDescription" }],"params" : {"weights" : {"isboostedTitle" : 0.4,"isboostedDescription" : 0.2}}}

排查方向

  1. 重排查询显式指定特征存储
    当前重排查询未指定store参数,若Solr存在多个特征存储,可能无法定位到关联myWatersFeatureStore的模型。修改查询为:
localhost:8983/solr/waterstest/query?q=title:columns&rq={!ltr model=myWatersModel store=myWatersFeatureStore reRankDocs=100 efi.boostedTitle=columns efi.boostedDescription=Heater}&fl=id,score
  1. 重新加载集合配置
    虽然schema/model-store能返回模型信息,但Solr运行时可能未加载最新配置。执行以下命令重载集合:
curl "http://localhost:8983/solr/admin/collections?action=RELOAD&name=waterstest"
  1. 检查模型名称的拼写与大小写
    确认重排查询中的模型名myWatersModel与schema/model-store返回的名称完全一致(包括大小写),Solr对名称大小写敏感。

  2. 验证LTR请求处理器配置
    检查solrconfig.xml中是否正确启用LTR组件:

  • 确保SearchHandler(/query)包含LTR相关组件
  • 确认已添加LTR的请求处理器定义:
    <requestHandler name="/query" class="solr.SearchHandler">
      <lst name="defaults">
        <!-- 其他默认参数 -->
        <str name="echoParams">explicit</str>
      </lst>
      <arr name="components">
        <str>query</str>
        <str>ltr</str> <!-- 确保添加此组件 -->
        <str>facet</str>
        <!-- 其他组件 -->
      </arr>
    </requestHandler>
    
  1. 检查模型与特征存储的关联合法性
    确认模型文件中指定的store值myWatersFeatureStore与特征文件的store完全一致,无拼写错误、空格或特殊字符。

内容的提问来源于stack exchange,提问作者Yatin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:02:47