Solr 使用 ContentStreamUpdateRequest 上传文件时出错

标签 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。有什么想法吗?

最佳答案

我通过设置 HttpSolrClient 以启用多部分发布解决了该问题。问我怎么办,我也不知道。 Solr 文档并没有很好地解释事情。

mHttpSolrClient.setUseMultiPartPost(true);

关于Solr 使用 ContentStreamUpdateRequest 上传文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29991847/

相关文章:

高可用性的 Solr 主从故障转移设置

solr - 对每个桶的 solr facet 进行百分比计算

java - Facet 字段值使用字谜多次返回相同的值

solr - 如何在 solr 中搜索多个方面?

java - Lucene/Solr - 索引出版物/文本

solr - 使用 solrj 进行分布式搜索?

solr - 为什么我只能将 665 个结果中的 10 个文档读入 solr 中的 beans

java - Solr 和 Solrj 中的 IN 等效查询

solr - Solr 复制和 Solr 云有什么区别?

java - 索引对 <key, value> 并返回在 Solr 上按值排序的结果