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();

アプリケーションを実行している間、私は得ています:-

スレッド「メイン」の例外 java.lang.NoClassDefFoundError: org.apache.solr.common.util.JavaBinCodec の org/noggit/CharArr。(JavaBinCodec.java:474) org.apache.solr.client.solrj.impl. org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:407) の BinaryResponseParser.processResponse(BinaryResponseParser.java:41) 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$1 で実行 (不明なソース)。java.security.AccessController.doPrivileged (ネイティブ メソッド) で実行 (不明なソース) java.lang.ClassLoader.loadClass で(未知のソース) で 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 を使用していて、これらの jar が solr-4.7.2\dist\solrj-lib\ としてフォルダーに存在する場合

于 2016-05-20T06:54:36.760 に答える