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);
どんな助けでも大歓迎です。