我是 solr 的新手。我在使用 ContentStreamUpdateRequest 在 solr 中对它们进行索引时将字段/元数据添加到 pdf 文件时遇到问题。由于必须使用文字参数来添加字段,所以我尝试了以下操作:
public static void indexFilesSolrCell(String fileName,String solrId,int i,String name,String Category,String loc,String locat)
throws IOException, SolrServerException {
//...
ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract");
File f1 = new File(fileName);
up.addFile(new File(fileName));
up.setParam("literal.id",solrId);
up.setParam("literal.name",name );
up.setParam("literal.url_file", loc);
up.setParam("literal.location",locat);
up.setParam("literal.Category",Category);
//..
}
pdf 文件在 solr 中被索引,但问题是并非所有字段都是使用文字创建的。以下字段已创建:
- ID
- 姓名
类别。
虽然它不会创建像url_file或类似路径或位置的任何字段。*有时* 它不会创建字段Category。
根据我所经历的,可以使用文字参数创建任何随机字段来创建元数据。为什么总是创建像id或name甚至blah_s这样的字段但是当我尝试像上面提到的随机字段时,solr不创建?
我们是否也必须在其他任何地方声明这些随机字段?
任何帮助是极大的赞赏。
更新:调用方法 up.setParam("literal.myField") 不会修改 schema.xml 以创建新字段吗?