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

使用SolrJ索引Solr数据时遇405错误,寻求解决方案

解决SolrJ索引时的405错误与MIME类型不匹配问题

嘿,这个问题我太熟悉了!你遇到的405 HTTP POST method is not supported和MIME类型不匹配错误,根源其实出在你配置的Solr服务器URL上——你把浏览器管理界面的URL直接拿来给SolrJ用了,里面的#是关键问题!

为什么会报错?

浏览器地址栏里的http://localhost:8983/solr/#/corename中,#是前端路由的锚点标记,当你用这个URL发送请求时,服务器实际收到的路径是/solr/,而这个路径只支持GET请求(用来返回管理界面),不接受POST请求,自然就会返回405错误,同时返回的是HTML页面(管理界面的内容),而不是SolrJ期望的二进制流,所以才会有Expected mime type application/octet-stream but got text/html的提示。

怎么解决?

只需要把URL里的#去掉,改成Solr API的正确路径:

  • 错误URL:http://localhost:8983/solr/#/corename
  • 正确URL:http://localhost:8983/solr/corename

举个SolrJ初始化的代码例子,修正前可能是这样:

HttpSolrClient client = new HttpSolrClient.Builder("http://localhost:8983/solr/#/corename").build();

修正后改成:

HttpSolrClient client = new HttpSolrClient.Builder("http://localhost:8983/solr/corename").build();

额外验证步骤

如果你还不确定,可以用curl命令测试一下正确的URL是否能接受POST请求:

curl -X POST http://localhost:8983/solr/corename/update -d '[{"id":"test_doc_1"}]' -H 'Content-Type: application/json'

如果返回类似{"responseHeader":{"status":0,"QTime":1}}的响应,说明URL没问题,再用SolrJ重试应该就正常了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:08:15