2016-05-31 130 views
2

嗨,我在这里使用Solr 4.7.2来索引文档。使用ContentStreamUpdateRequest将doc/pdf/docx文件索引到solr中

使用solrj的ContentStreamUpdateRequest我想索引的文件在Solr的,但同时 我使用的UI

在动作类,同时发送ContentStreamUpdateRequest参数传递的对象发送一个文件路径和唯一ID字段作为输入到solrServer对象 即

SolrServer solrServer = ..; 
solrServer.request(contentStreamUpdateRequest); 

我收到以下错误

Exception: 
    org.apache.solr.client.solrj.SolrServerException 

Exception message: 
    error reading streams 

异常跟踪:

at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:382) 
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:199) 
at com.adastra.candidate.search.solr.action.SolrUpdateAction.aaaExecute(SolrUpdateAction.java:49) 
at com.adastra.base.action.BaseAction.execute(BaseAction.java:181) 
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) 
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) 
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) 
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859) 
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579) 
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555) 
at java.lang.Thread.run(Unknown Source) 

可以请建议我固定它。

+1

你能发布完整的错误信息吗?看起来你正在给出错误的编码或路径不正确? – bsd

+0

您是否在谈论文件路径 – Veeresh123

+0

发布完整的堆栈跟踪。必须有更多 – bsd

回答

0

我认为,在版本4.7.2流被默认禁用,您必须启用它在文件solrconfig.xml中

变化

<requestParsers enableRemoteStreaming="false" 

<requestParsers enableRemoteStreaming="true" 

而且,看看文档 http://wiki.apache.org/solr/SolrSecurity#Streaming_Consideration

让我知道这是否解决了这个问题。启用远程流式传输时请注意安全。