我如何 Parse/Index PST 文件到 elasticsearch?

how can I Parse/Index PST file to elasticsearch?

我能够在 elasticsearch 中解析 json 文件。 parse/index Microsoft outlook 的 PST 文件是否可以用于 Elasticsearch 索引?

非常感谢

您可以使用 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 reader 项目,因此选择一个适合您最熟悉的语言(java、C# 等...)的流行项目。 Github 建议的搜索词:libpst、pst reader

您还可以为 Apache Tika 编写自定义解析器,并使用它代替 PST reader 库。可以在此处找到有关如何使用它的文档:

https://tika.apache.org/1.6/parser.html

Java base64 将文件编码为字符串的示例:

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