在solr中索引文档时出错 - SolrException

时间:2015-10-28 12:11:14

标签: solr

我使用以下代码索引solr服务器中的文档。

String urlString = "http://localhost:8080/solr";            
SolrServer solr = new CommonsHttpSolrServer(urlString);
java.io.File file=new java.io.File("C:\\Users\\Guruprasad\\Desktop\\Search\\47975832.doc");

if (file.canRead()) {

        System.out.println("adding " + file);
        try {
            ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
            String parts[] = file.getName().split("\\.");
            String type = "text";
            if (parts.length>1) {
                type = parts[1];
            }
            req.addFile(file);
            req.setParam("literal.id", file.getAbsolutePath());
            req.setParam("literal.name", file.getName());
            req.setParam("literal.content_type", type);
            req.setParam("uprefix", "attr_");
            req.setParam("fmap.content", "attr_content");
            req.setAction(ACTION.COMMIT, true, true);

            solr.request(req);* //**Line no 36** here i am getting exception 

执行此代码时,我遇到异常。

例外: org.apache.solr.common.SolrException

异常消息:

Internal Server Error Internal Server Error request: 

 http://localhost:8080/solr/update/extract?literal.id=C:\Users\Guruprasad\Desktop\Search\47975832.doc&literal.name=47975832.doc&literal.content_type=doc&uprefix=attr_&fmap.content=attr_content&commit=true&waitFlush=true&waitSearcher=true&wt=javabin&version=2

异常追踪:

at   org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:435)
at   org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:244)
at   com.solr.search.test.IndexFiles.indexDocs(IndexFiles.java:36)* 

任何帮助都会有用

2 个答案:

答案 0 :(得分:0)

我不建议你用dih来索引你的数据库数据,你可以使用solrj索引你的数据,solrj很简单,如果你可以使用jdbc,那么事情很简单,你可以使用solrj build solr document和批量数据提交到solr服务器。有一个solrj wiki,希望它可以帮助你solrj wiki

答案 1 :(得分:0)

solr 5.0附带内置实用程序DIH处理程序,用于索引您正在使用的数据库中的数据,但是它的配置很重要,请您发布您的DIH处理程序配置或共享导入日志,看起来像配置问题< / p>