一、错误信息
Exception in thread "main" org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException:
Expected mime type application/octet-stream but got text/html.<html><head><title>Apache Tomcat/7.0.54 - Error report</title><style><!--H1 {<!-- -->font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {<!-- -->font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {<!-- -->font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {<!-- -->font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {<!-- -->font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {<!-- -->font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {<!-- -->color : black;}A.name {<!-- -->color : black;}HR {<!-- -->color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /solr/core0/update/extract</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/solr/core0/update/extract</u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.54</h3></body></html>
at org.apache.solr.client.solrj.impl.HttpSolrServer.executeMethod(HttpSolrServer.java:516)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:210)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:206)
at solrj.CreateIndexFromPDF.indexFilesSolrCell(CreateIndexFromPDF.java:54)
at solrj.CreateIndexFromPDF.main(CreateIndexFromPDF.java:21)
二、错误分析
部分代码:
String urlString = "http://localhost:8080/solr/core1";
SolrServer solr = new HttpSolrServer(urlString);
ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");
或者在xml中配置:
<bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">
<constructor-arg name="baseURL" value="http://192.168.1.80:9000/solr/core1"></constructor-arg>
</bean>
是因为我用的:
core1
(这个在当前的solr目录下是不存在的),已经被删除了。改为存在
collection1
就正常通过,或者直接写
http://192.168.1.80:9000/solr
。
所以有这样的错误一般是配置错误,或者操作的core核心不存在,或者没有配置对应的handler。都是路径错误,或者用法上的错误。