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

Solr 9.4.0-slim添加DIH仓库触发404错误求助

解决Solr添加data-import-handler仓库时的404与MIME类型错误

问题核心

执行命令 solr package add-repo data-import-handler "https://raw.githubusercontent.com/searchscale/dataimporthandler/master/repo/" 时,触发404错误,且返回内容MIME类型为text/html,与Solr期望的[application/octet-stream, application/vnd.apache.solr.javabin]不匹配;但相同命令在Docker容器中可正常执行,Solr版本为9.4.0-slim。

可能原因

该错误本质是Solr请求仓库元数据时,拿到的是GitHub的404错误页面(text/html格式),而非预期的Solr仓库元数据文件。Docker环境正常大概率是因为容器内网络路径解析无异常,或仓库文件在容器访问链路中可正常获取。

解决方案

1. 修正仓库路径的大小写与正确性

GitHub路径严格区分大小写,先确认命令中的URL大小写是否与仓库实际路径一致,尝试使用修正后的命令:

solr package add-repo data-import-handler "https://raw.githubusercontent.com/SearchScale/dataimporthandler/master/repo/"

同时手动访问该路径下的repo.properties文件(比如拼接为https://raw.githubusercontent.com/SearchScale/dataimporthandler/master/repo/repo.properties),如果返回404,说明仓库路径已变更,需确认最新仓库地址。

2. 本地托管仓库元数据

若远程仓库访问存在网络或路径问题,可手动托管仓库文件:

  • 下载仓库的repo.properties及对应data-import-handler包文件到本地目录(如./solr-local-repo/)
  • 用Python启动临时HTTP服务:
    python3 -m http.server 8080 --directory ./solr-local-repo/
    
  • 执行添加仓库命令指向本地服务:
    solr package add-repo data-import-handler "http://localhost:8080/"
    

3. 检查并配置Solr代理

如果本地环境使用代理,可能导致Solr请求GitHub时被拦截或重定向:

  • Linux环境:修改solr.in.sh文件,添加代理参数:
    SOLR_JAVA_MEM="-Dhttp.proxyHost=你的代理地址 -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理地址 -Dhttps.proxyPort=代理端口"
    
  • Windows环境:修改solr.in.cmd文件,添加代理参数:
    set SOLR_JAVA_MEM=-Dhttp.proxyHost=你的代理地址 -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理地址 -Dhttps.proxyPort=代理端口
    

修改后重启Solr再执行命令。

4. 跳过仓库直接安装本地包

若添加仓库始终失败,可直接下载data-import-handler的包文件,用本地安装命令完成部署:

solr package install /本地路径/data-import-handler-对应版本.zip

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:47:15