Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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中使用ContentStreamUpdateRequest设置多值字段_Java_Solr_Solrj_Solr Cell - Fatal编程技术网

Java 在Solr中使用ContentStreamUpdateRequest设置多值字段

Java 在Solr中使用ContentStreamUpdateRequest设置多值字段,java,solr,solrj,solr-cell,Java,Solr,Solrj,Solr Cell,我正在使用SolrJ+SolrCell对各种Word/Excel/PDF文件的内容进行索引,但有些字段(例如id、名称)我希望能够自行设置: ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract"); req.addFile(docFile, null); req.setParam("literal.id", docProperties.getId()); req.setParam("li

我正在使用SolrJ+SolrCell对各种Word/Excel/PDF文件的内容进行索引,但有些字段(例如id、名称)我希望能够自行设置:

ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
req.addFile(docFile, null);
req.setParam("literal.id", docProperties.getId());
req.setParam("literal.name", docProperties.getName());
我对普通字段没有任何问题,但我发现当我尝试使用相同的setParam方法设置多值字段时,只存储输入数组中的最后一个元素:

if (docProperties.getCategories() != null) {
    for (String category : docProperties.getCategories()) {
        req.setParam("literal.categories", category);
    }
}
例如,如果
docProperties.getCategories()
为[“新闻”、“计算机”、“技术”],则多值类别字段中存储的唯一值为[“技术”]。实际上,我对此并不感到惊讶,因为我不认为使用
setParam
方法是将值附加到多值字段的正确方法

然而,我不知道如何使用可用的方法来做到这一点。如果我使用的是SolrInputDocument,那么将数组传递给
addField
方法就很简单了

String[] categoriesArray = {"News", "Computers", "Tech"};
ArrayList<String> categories = new ArrayList<String>(Arrays.asList(categoriesArray));
doc.addField("categories", categories );
String[]categoriesArray={“新闻”、“计算机”、“技术”};
ArrayList categories=新的ArrayList(Arrays.asList(categoriesArray));
文件添加字段(“类别”,类别);
有没有一种方法可以使用ContentStreamUpdateRequest执行类似的操作?

从中,使用设置这些文字参数对多值字段有效