2011-04-20 73 views
8

我用Tomcat安裝了Apache Solr,我的/solr/admin工作正常。但是,當我嘗試發出/solr/update時出現以下錯誤。可能是什麼原因?org.apache.solr.common.SolrException:缺少內容流

org.apache.solr.common.SolrException:丟失的內容流

+1

你能後要發送到服務器的更新XML?你如何發佈?使用curl,使用應用程序,使用瀏覽器? – Thomas 2011-04-20 08:01:59

+0

我嘗試運行./post.sh附帶exampledoc。但它說捲曲沒有找到。當我嘗試點擊http:// localhost:8080/apache-solr-1.4.1/update時,出現內容流丟失的400錯誤。 這是我的post.sh FILES = $ * URL = http:// localhost:8080/apache-solr-1.4.1/update for f in $ FILES; do echo將文件$ f添加到$ URL curl $ URL --data-binary @ $ f -H'Content-type:text/xml;字符集= UTF-8' 回聲 做 #send commit命令,以確保所有的更改都將刷新可見 捲曲$ URL --data二進制 '' -H「內容類型:文本/ XML的;字符集= UTF-8' 回聲 – 2011-04-20 08:05:09

+0

我與 java的固定它-Durl = HTTP://本地主機:8080/Apache的Solr的-1.4.1 /更新的罐子post.jar * .XML – 2011-04-20 08:17:56

回答

6

/solr/update會尋找任何輸入文檔建立索引。因爲沒有輸入,所以原始運行/solr/update將導致此異常。跑這就像如果您添加commit參數即?commit=true最簡單的方法,

java -Durl=localhost:8080/<your apache solr context path, mostly solr>/update -jar post.jar *.xml 
+2

其他人的注意事項:如果您嘗試持續存儲一個空文檔集,也可能通過SolrJ/spring-data-solr發生。 – RMorrisey 2013-09-25 20:33:05

+0

使用SOLRJ發佈空列表對象後,也會發生「缺少內容流」 – 2016-06-06 09:28:45

9

,它會工作