Solr 8.10.1调用extract接口上传文档提示根级数据无效问题
错误原因
- 该错误本质是SolrNet尝试解析XML格式响应时,拿到的内容不符合XML规范导致的解析失败。
- Solr 3.6.1版本默认所有接口返回XML格式响应,和你当前使用的SolrNet版本的默认解析逻辑适配,所以运行正常。
- Solr 5.0及之后的版本默认将接口响应格式调整为JSON,你新部署的Solr 8.10.1返回的是JSON结构的响应,SolrNet用XML解析器处理JSON内容就会触发
Data at the root level is invalid异常。
修复方案
- 方案1:升级SolrNet到最新稳定版
最新版SolrNet已经完成对Solr 7+版本的适配,默认支持解析JSON格式响应,无需额外修改业务代码即可兼容。 - 方案2:强制Solr返回XML格式响应
无需升级SolrNet,在Solr服务端修改对应collection的solrconfig.xml配置,将请求处理器的默认输出格式设置为XML,或者在SolrNet的服务地址配置中添加wt=xml参数,指定每次请求要求返回XML格式结果。 - 方案3:排查Solr服务运行状态
先手动调用Solr的Extract接口上传测试文档,确认服务没有返回404、403、500等异常状态码,异常状态的响应内容也会触发XML解析失败。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

