从多种格式的文件中提取文本并将其存储在Elasticsearch中

时间:2017-04-03 21:17:57

标签: java elasticsearch etl apache-tika

我要求提取存储在文件夹中的所有文件的内容,格式为pdf,worddoc,txt,msg,ppt等。现在我需要将内容存储在elasticsearch中。解决方案需要是构建管道架构。我计划使用Apache TIKA提取内容,然后将其存储在弹性中。有没有更好的方法来实现这个解决方案?

1 个答案:

答案 0 :(得分:1)

您应该调查捆绑Apache Tika的ingest attachment plugin并完全按照您的需要进行操作,即从PDF,DOC,PPT等中提取内容。

只需安装

即可
bin/elasticsearch-plugin install ingest-attachment

然后你可以创建一个新的管道

PUT _ingest/pipeline/attachment
{
  "description" : "Extract attachment information",
  "processors" : [
    {
      "attachment" : {
        "field" : "data"
      }
    }
  ]
}

最后,您可以将文档编入索引:

PUT my_index/my_type/my_id?pipeline=attachment
{
  "data": "e1xydGYxXGFuc2kNCkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0DQpccGFyIH0="
}

您可以在https://www.elastic.co/guide/en/elasticsearch/plugins/5.3/using-ingest-attachment.html

找到更多使用信息