通过URL在Solr中使用Tika处理文件

时间:2019-04-23 12:25:17

标签: java solr solrj apache-tika

上下文

结构

我们已经使用Solr几年了,并希望向我们的索引中添加大量的pdf数据。 Solr中的每一行可以有多个文档,因此我们想在此处使用嵌套结构:

[{
  "id": 1, 
  "title": "test", 
  "_childDocuments_": [{
    "id": 12,
    "file_type": "pdf",
    "link": "https://s3.com/file.pdf",
    "full_content": ""
  }, ...]
}, ...]

每个pdf文件都存储在s3中。

导入

我们通过Java SolrJ导入Solr索引,如下所示:

String solrURL = "http://URL/solr/default";
HttpSolrClient client = new HttpSolrClient(solrURL);
Collection<SolrInputDocument> batch = new ArrayList();

SolrInputDocument publication = new SolrInputDocument();
publication.addField("id", "1");
publication.addField("path", "1.publications");
publication.addField("_root_", "1");

batch.add(publication);

UpdateResponse add = client.add(batch);
UpdateResponse commit = client.commit(true, true, true);

问题

我想添加一个Tika处理器,以监听文档更新或导入事件并处理通过link字段提供的s3中的文档。

这种情况有可能吗?

0 个答案:

没有答案