我如何 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
我能够在 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