使用Solr索引我的数据库

时间:2014-09-18 13:30:05

标签: java solr lucene

我不知道为什么我的代码java没有编译。

我需要使用solr索引我的数据库。

我使用line commande启动我的服务器。

>cd C:\Solr\solr-4.10.0\solr-4.10.0\example\solr
>java -jar start.jar

之后我创建了一个包含我的类的新项目,用solr。索引数据库。

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;



//import org.apache.lucene.index.IndexWriter;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;//   CommonsHttpSolrServer;
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
import org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.client.solrj.impl.HttpSolrServer;


public class IndexFiles {

public static void main(String[] args) {


      HttpSolrServer server = new HttpSolrServer("http://localhost:8983/solr/");
      // i use SolrServer but it generate same error like this from httpSolrServer
      //SolrServer solr = new HttpSolrServer("http://localhost:8983/solr");  
    /*
      // TODO Auto-generated method stub
    String urlString = "http://localhost:8989/solr";
    if (args != null & args.length > 1) {
        urlString = args[1]; 
    }

    SolrServer solr = new HttpSolrServer("http://localhost:8983/solr"); //CommonsHttpSolrServer(urlString);
    try {
        indexDocs(solr, new File(args[0]));
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    */
  }
}

我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/NoHttpResponseException
at IndexFiles.main(IndexFiles.java:23)
Caused by: java.lang.ClassNotFoundException: org.apache.http.NoHttpResponseException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

听起来你还没有将httpclient jar(来自dist / solrj-lib)添加到你的类路径中。

请参阅Solrj wiki页面主题:Setting the Classpath