Spring Boot 整合 Apache Solr 异常:Expected mime type application/octet-stream but got text/html 的解决.

Posted cearnach

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 整合 Apache Solr 异常:Expected mime type application/octet-stream but got text/html 的解决.相关的知识,希望对你有一定的参考价值。

解决方法:Spring Data Solr 3.0 以上版本 将@SolrDocument(solrCoreName = "new_core")  中的solrCoreName 字段改为使用collection字段即可

下面是问题解决经过:

暑假期间在做一个高并发的电商平台,需要用到Apache Solr.

Solr 版本是7.4 , Spring Boot 版本是 2.0.4 , Spring Data Solr 为 3.0.9

网上大部分的教程用的版本比较旧,在实体类使用的都是  @SolrDocument(solrCoreName = "new_core") .

然后在测试过程中会出现 Expected mime type application/octet-stream but got text/html 异常.

通过打断点调试

技术分享图片

使用 solrCoreName 字段的时候,是无法加载到core的,需要使用collection . 

通过查看注解的源码也可以看到,注释里面标识solrCoreName 已经过时,只不过在使用的时候,注解里面使用到了过时的字段, idea 不会给出警告提示,所以一时间没有想到的注解字段过时的问题!!!

希望Idea以后的版本能够有这样的提示吧.

在Google , Stack Overflow 找了挺多类似的问题,发现全都是Spring Data Solr 3.0以下的解决方式,所以在这里记录以下.

总结: 遇到找不到的问题,要多看源码!!!要多看源码!!!要多看源码!!!

以上是关于Spring Boot 整合 Apache Solr 异常:Expected mime type application/octet-stream but got text/html 的解决.的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot使用配置文件方式整合MyBatis

Spring Boot2.0之整合Redis

RocketMQ(20)——整合Spring Boot

RocketMQ(20)——整合Spring Boot

RocketMQ(20)——整合Spring Boot

RocketMQ(20)——整合Spring Boot