我有一个产品/研究可以有多个与之关联的文件。我希望在产品文档中的 solr 中对文件的内容进行索引。我可以使用如下代码轻松索引产品文档及其元数据:
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id","1");
doc.addField("title","study1");
doc.addField("productType","dataset");
UpdateResponse updateResponse = solrClient.add("products",doc);
solrClient.commit("products");
我还可以使用以下代码索引文件元数据及其内容
ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
req.addFile(new File("my-file.pdf"));
req.setParam(LITERALS_PREFIX + "id", "file1");
req.setParam(UNKNOWN_FIELD_PREFIX, "attr_");
req.setParam(MAP_PREFIX + "content", "attr_content");
req.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);
NamedList<Object> result = solrClient.request(req,"products");
这两段代码索引了两个不同的文档,但我真正想要的是将文件元数据及其内容索引为产品文档的嵌套文档。我怎么做?我找不到任何方法将 ContentStreamUpdateRequest 添加到现有文档作为孩子。任何帮助/提示将不胜感激。