Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Solr为我的数据库编制索引_Java_Solr_Lucene - Fatal编程技术网

Java 使用Solr为我的数据库编制索引

Java 使用Solr为我的数据库编制索引,java,solr,lucene,Java,Solr,Lucene,我不知道为什么我的java代码没有被编译 我需要用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.cli

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

我需要用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();
    }
    */
  }
}
我用line命令启动服务器

>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

如何解决此问题?

听起来好像您没有将
httpclient
jar(来自dist/solrj lib)添加到类路径中


请参阅Solrj wiki页面主题:我没有commons httpclient!!您是否尝试添加了
httpclient-4.3.1.jar
?您还需要httpcore,很可能还需要commons io和slf4j。我相信这样做的目的是,您只需将solrj lib中的所有jar添加到您的类路径中,然后就可以开始比赛了。是的,我添加了httpclient-4.3.1.jar、commons-io-2.3.jar、Solr-solrj!!但他不工作!还有httpcore,对吗?正如我所说,只需将所有这些jar添加到类路径中,您就会得到最好的服务。你就是这么做的吗?