3

我正在使用 java 客户端程序将数据添加到我的 solr 服务器中的索引。我的来源看起来像: -

SolrServer solrServer = new HttpSolrServer("http://10.219.224.91:4040/solr/test");
          System.out.println("<ul>");
          String[] passengerType={"Infant","Handicapped","Unaccompanied minor", "General Category"};
          for(int i = 0; i < 100; i++) {
            SolrInputDocument solrInputDocument = new SolrInputDocument();
            solrInputDocument.addField("id", new String("widget " + i));
            // add three random categories
            for(int j = 0; j < 3; j++) {
                solrInputDocument.addField("category", passengerType[new Random().nextInt(passengerType.length)]);
            }
            solrInputDocument.addField("size", new Random().nextInt(10));
            // this is cheating below - but saves us from the query string...
            solrInputDocument.addField("text", "a");
            solrServer.add(solrInputDocument);
            System.out.println("<li> Adding: " + solrInputDocument + "</li>\n");
           }
          System.out.println("</ul>");
          solrServer.commit();

在运行我得到的应用程序时:-

在 org.apache.solr.client.solrj.impl 的 org.apache.solr.common.util.JavaBinCodec.(JavaBinCodec.java:474) 的线程“main”java.lang.NoClassDefFoundError 中出现异常。 BinaryResponseParser.processResponse(BinaryResponseParser.java:41) 在 org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:407) 在 org.apache.solr.client.solrj.impl.HttpSolrServer.request( HttpSolrServer.java:180) 在 org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:117) 在 org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:116)在 org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:102) 在 IndexDriver.main(IndexDriver.java:39) 引起:java.lang.ClassNotFoundException: org.noggit.CharArr 在 java.net .URLClassLoader$1。在 java.net.URLClassLoader.findClass(Unknown Source) 在 java.lang.ClassLoader.loadClass 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader$1.run(Unknown Source) run(Unknown Source) (未知来源)在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源)在 java.lang.ClassLoader.loadClass(未知来源)

这条线出现错误-

solrServer.add(solrInputDocument);

任何帮助将不胜感激。

4

2 回答 2

8

我认为您没有在程序中包含 noggit-0.5.jar 文件

http://www.java2s.com/Code/Jar/n/Downloadnoggit05jar.htm下载

Maven 存储库

然后将其导入您的项目库中。

于 2013-10-17T12:39:10.760 回答
0

您还可以使用 solr 框架中提供的 jar

例如,如果您使用的是 solr4.7.2,并且这些 jars 以 solr-4.7.2\dist\solrj-lib\ 的形式存在于文件夹中

于 2016-05-20T06:54:36.760 回答