【solr专题之三】Solr常见异常
1、RemoteSolrException:?Expected mime type application/octet-stream but got text/html
現象:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
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 405 - HTTP method POST is not supported by this URL</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>HTTP method POST is not supported by this URL</u></p><p><b>description</b> <u>The specified HTTP method is not allowed for the requested resource.</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 org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:124)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)
at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102)
at org.ljh.test.solr.BasicSolrJIndexDemo.main(BasicSolrJIndexDemo.java:23)
分析:
由于各種錯誤導致了solr返回一個錯誤頁面,而不是index成功的結果,因此出現以上異常。
其中上述html代碼格式化后呈現:
HTTP Status 405 - HTTP method POST is not supported by this URL
type?Status report
message?HTTP method POST is not supported by this URL
description?The specified HTTP method is not allowed for the requested resource.
Apache Tomcat/7.0.54
解決方法:在使用Tomcat部署Solr后,Collection1的地址為:http://ip:8080/solr/#/collection1,但使用SolrJ進行索引的時候,應該使用http://ip:8080/solr/collection1,即無中間的#號。
即正確代碼為:
String serverUrl = (args != null && args.length > 0) ? args[0]: "http://ip:8080/solr/collection1";錯誤代碼為: String serverUrl = (args != null && args.length > 0) ? args[0]: "http://ip:8080/solr/#/collection1";錯誤代碼將導致上述錯誤。
總結
以上是生活随笔為你收集整理的【solr专题之三】Solr常见异常的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【solr专题之四】在Tomcat 中部
- 下一篇: Velocity浅析及与Jsp、Free