我使用以下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。有什么想法吗?
答案 0 :(得分:1)
我通过设置HttpSolrClient来启用多部分帖子来修复此问题。问我怎么样,我不知道。 Solr文档并没有很好地解释事情。
mHttpSolrClient.setUseMultiPartPost(true);