嗨,我在这里使用 Solr 4.7.2 为文档编制索引。
使用ContentStreamUpdate请求solrj我正在尝试在Solr中索引文件,但是虽然我正在使用UI发送文件路径和唯一ID字段作为输入
在发送 ContentStreamUpdateRequest 的对象时的操作类中,将参数传递给 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)
可以建议我修复它。
我认为在 4.7.2 版中默认情况下禁用流式传输,您必须在文件 solrconfig 中启用它.xml
改变
<requestParsers enableRemoteStreaming="false"
自
<requestParsers enableRemoteStreaming="true"
另外,请查看文档http://wiki.apache.org/solr/SolrSecurity#Streaming_Consideration
让我知道这是否解决了问题。启用远程流式处理时请注意安全性。