使用Java Client API将文档添加到Solr失败

时间:2018-03-16 18:54:23

标签: java apache api solr

我有将代码添加到Solr的代码。我在Solr 6.6.2和Solr 7.2.1中测试了它并且失败了。

import java.io.IOException;  
import org.apache.solr.client.solrj.SolrClient; 
import org.apache.solr.client.solrj.SolrServerException; 
import org.apache.solr.client.solrj.impl.HttpSolrClient; 
import org.apache.solr.common.SolrInputDocument; 

public class AddingDocument { 
   public static void main(String args[]) throws Exception { 


String urlString ="http://localhost:8983/solr/Solr_example";
     SolrClient Solr = new HttpSolrClient.Builder(urlString).build();   

      //Preparing the Solr document 
      SolrInputDocument doc = new SolrInputDocument(); 

      //Adding fields to the document 
      doc.addField("id", "007"); 
      doc.addField("name", "James Bond"); 
      doc.addField("age","45"); 
      doc.addField("addr","England"); 

      //Adding the document to Solr 
      Solr.add(doc);         

      //Saving the changes 
      Solr.commit(); 
      System.out.println("Documents added"); 
   } 
} 

编译成功如下。

javac -cp。:/ opt / solr / solr-6.6.2 / dist / solr-solrj-6.6.2.jar AddingDocument.java

然而,当我运行它时,它给了我一些错误信息。

java -cp。:/ opt / solr / solr-6.6.2 / dist / solr-solrj-6.6.2.jar AddingDocument

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/Header
    at org.apache.solr.client.solrj.impl.HttpSolrClient$Builder.build(HttpSolrClient.java:892)
    at AddingDocument.main(AddingDocument.java:13)
Caused by: java.lang.ClassNotFoundException: org.apache.http.Header
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 2 more

它出了什么问题?这个urlString是否正确?

感谢任何帮助!

添加jar文件后,编译成功。

javac -cp。:/ opt / solr / solr-6.6.2 / dist / *:/ opt / solr / solr-6.6.2 / dist / solrj-lib / * AddingDocument.java

将doc添加到solr中。但是,有一些关于slf4j的错误消息如下所示。

java -cp。:/ opt / solr / solr-6.6.2 / dist / *:/ opt / solr / solr-6.6.2 / dist / solrj-lib / * AddingDocument

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J:默认为无操作(NOP)记录器实现 SLF4J:有关详细信息,请参阅http://www.slf4j.org/codes.html#StaticLoggerBinder。 已添加文件

0 个答案:

没有答案