【发布时间】:2017-06-29 02:44:46
【问题描述】:
我能够在 elasticsaerch 中解析 json 文件。 有没有办法将 Microsoft Outlook PST 文件解析/索引到 Elasticsearch 索引??
非常感谢
【问题讨论】:
标签: json parsing elasticsearch kibana pst
我能够在 elasticsaerch 中解析 json 文件。 有没有办法将 Microsoft Outlook PST 文件解析/索引到 Elasticsearch 索引??
非常感谢
【问题讨论】:
标签: json parsing elasticsearch kibana pst
您可以使用 ElasticSearch 插件“Ingest Attachment”,它使用 Tika 来处理原生(PDF、XLS、PST 等...):
https://www.elastic.co/guide/en/elasticsearch/plugins/master/ingest-attachment.html
“Ingest Attachment”插件以前称为“Mapper-Attachments”插件,因此您可以从旧名称中找到关键字的帮助:
https://www.elastic.co/guide/en/elasticsearch/plugins/current/mapper-attachments.html
这些插件允许您将 base64 编码的 PST 直接传递给 ElasticSearch,ES 会自动为您解析和索引场景背后的数据。
如果您想要自定义的东西,我建议使用读取 PST 文件的众多 github 项目之一,然后以您想要的任何文档映射将数据发送到 ElasticSearch。有许多 github PST 阅读器项目,因此请为您最熟悉的任何语言(java、C# 等)选择一个流行的项目。 Github 建议搜索词:libpst, pst reader
您还可以为 Apache Tika 编写自定义解析器,并使用它来代替 PST 阅读器库。可以在此处找到有关如何使用的文档:
https://tika.apache.org/1.6/parser.html
将文件base64编码为字符串的Java示例:
FileInputStream fileInputStreamReader = new FileInputStream(file);
byte[] bytes = new byte[(int)file.length()];
fileInputStreamReader.read(bytes);
String encodedfile = Base64.encodeBase64(bytes).toString();
将生成的编码文件字符串传递给本文所示的 PUT 调用:
https://www.elastic.co/guide/en/elasticsearch/plugins/current/using-ingest-attachment.html
【讨论】: