Solr错误使用ContentStreamUpdateRequest上传文件

时间:2015-05-01 17:28:40

标签: solr solrj

我使用以下solrj代码来索引文档。

     ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
     ContentStreamBase.FileStream fs = new FileStream(new File(filename));
     req.setWaitSearcher(false);
     req.setMethod(METHOD.POST );
     //req.addFile(new File(filename), null);
     req.addContentStream(fs);
     req.setParam("literal.id", filename);
     req.setParam("resource.name", filename);
     //req.setParam("uprefix", "attr_");
     //req.setParam("fmap.content", "attr_content");
     //req.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
     NamedList<Object> result = this.mHttpSolrClient.request(req);

但是,我总是在请求之后立即收到SolrException,其中说

4767120 [qtp559670971-21] INFO  org.apache.solr.update.processor.LogUpdateProcessor  [   test] – [test] webapp=/solr path=/update/extract params={waitSearcher=false&resource.name=/tmp/RUNNING.txt&literal.id=/tmp/RUNNING.txt&wt=javabin&version=2} {} 0 6
4767121 [qtp559670971-21] ERROR org.apache.solr.core.SolrCore  [   test] – org.apache.solr.common.SolrException: ERROR: [doc=/tmp/RUNNING.txt] Error adding field 'stream_size'='null' msg=For input string: "null"

我使用的是最新版本的solr 5.1.0。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我通过设置HttpSolrClient来启用多部分帖子来修复此问题。问我怎么样,我不知道。 Solr文档并没有很好地解释事情。

mHttpSolrClient.setUseMultiPartPost(true);