Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Solr:服务器位于http://localhost:8080//solr 返回非正常状态:500,消息:内部服务器错误_Solr_Solrj - Fatal编程技术网

Solr:服务器位于http://localhost:8080//solr 返回非正常状态:500,消息:内部服务器错误

Solr:服务器位于http://localhost:8080//solr 返回非正常状态:500,消息:内部服务器错误,solr,solrj,Solr,Solrj,当我试图使用solrj api为solr服务器上的文本文件编制索引时,solr 8080上的服务器返回了非正常状态:500,消息:内部服务器错误“ 我的代码如下: public void IndexData(String filePath,String solrId) { try { String urlString = "http://localhost:8080//solr"; HttpSolrServer server

当我试图使用solrj api为solr服务器上的文本文件编制索引时,solr 8080上的服务器返回了非正常状态:500,消息:内部服务器错误“

我的代码如下:

public void IndexData(String filePath,String solrId)
{
        try {

            String urlString = "http://localhost:8080//solr";
            HttpSolrServer  server  = new HttpSolrServer(urlString);


            ContentStreamUpdateRequest up 
              = new ContentStreamUpdateRequest("/update/extract");

            up.addFile(new File(filePath),"");

            up.setParam("literal.id", solrId);
            up.setParam("uprefix", "attr_");
            up.setParam("fmap.content", "attr_content");

            up.setAction(AbstractUpdateRequest.ACTION.COMMIT,                     true,true);

            server.request(up);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SolrServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

}
我能够使用相同的服务器查询solr服务器,但在索引数据时,为什么会出现此错误

log4j:WARN No appenders could be found for logger (org.apache.solr.client.solrj.impl.HttpClientUtil).
log4j:WARN Please initialize the log4j system properly.
org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: Server at `http://localhost:8080//solr` returned non ok status:500, message:Internal Server Error
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:372)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
    at dataAnalysis.dataIndexer.DataIndexer.IndexData(DataIndexer.java:41)
    at dataAnalysis.dataHome.DataHome.main(DataHome.java:13)

嘿,好消息,我解决了这个问题。需要进行两项修改。首先,我编辑了solrconfig.xml以删除每个路径的额外选项卡,第二个更改是将jar从/solr/contrib/extraction/lib复制到/tomcat/web-inf/lib文件夹

url应该是。。。删除/before Solr,因为它应该是单斜杠。Jayendra没有任何区别。Solr日志中的错误是什么?我已将Solr集成到Apache tomcat中。所以当我看到tomcat的catalina日志时,我没有看到任何错误。它工作正常。@RohitDeshpande您可以将此作为答案发布,以便其他人如果有相同的问题,可以使用您的解决方案。