solr - 由 : org. apache.solr.common.SolrException 引起:未找到

标签 solr solrj

令人惊讶的是,这里(或任何地方)没有解决方案的少数问题之一。

这个设置在我的本地工作完美。但无法在托管服务器上工作。

想法?
提前致谢。
库马尔

org.apache.solr.client.solrj.SolrServerException: Error executing query
    at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:95)
    at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118)
    at org.apache.jsp.jsp.t0Solr_jsp._jspService(t0Solr_jsp.java:103)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    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:293)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.solr.common.SolrException: Not Found

Not Found

request: http://127.0.0.1:8080/solr/core0/select?q=primField: rockyBal&facet.field=dhomdhom&facet=true&facet.limit=1000&facet.mincount=2&rows=5000&wt=javabin&version=2
    at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:430)
    at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
    at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89)
    ... 23 more

最佳答案

此处引发异常 (CommonsHttpSolrServer.java:430)

  int statusCode = _httpClient.executeMethod(method);
  if (statusCode != HttpStatus.SC_OK) {
    StringBuilder msg = new StringBuilder();
    msg.append( method.getStatusLine().getReasonPhrase() );
    msg.append( "\n\n" );
    msg.append( method.getStatusText() );
    msg.append( "\n\n" );
    msg.append( "request: "+method.getURI() );
    throw new SolrException(statusCode, java.net.URLDecoder.decode(msg.toString(), "UTF-8") );
  }

所以基本上你得到一个 404 错误代码。尝试在该机器上打开一个外壳并键入

> curl "...堆栈跟踪中报告的 url..."

我想你会得到同样的错误。可能这与服务器绑定(bind)端口有关...

可能 Tomcat 以不同的绑定(bind)端口开始。尝试
  • 绑定(bind) tomcat 到 127.0.0.1 或 0.0.0.0(仅用于测试)

  • 或者
  • 通过使用 tomcat
  • 的 IP 地址/主机名初始化 CommonsHttpSolrServer 来更改您的代码

    关于solr - 由 : org. apache.solr.common.SolrException 引起:未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9595986/

    相关文章:

    java - 将 POJO 转换为 SOLR 查询

    java - Solr读取超时(仅在生产环境中)

    lucene - 如何与SOLR/lucene中的搜索字符串子集匹配

    solr - 在 Cent os 7 上将 Apache Solr 从 4.10.4 升级到 6.6.0

    Django haystack SearchQuerySet 到 QuerySet

    java - Solrj 查询 https 协议(protocol)错误

    java - SOLRJ deleteById 不起作用

    solr - Solr 中的 "protected phrase"

    solr - 如何使用 solrj 在特定分片中索引数据

    java - 在 Apache Solr 中对 CSV 文件中的数据建立索引