如何从中提取内容。使用apache tika的Pst文件?
如何使用apache tika解析.Pst文件 1.2?
如何在使用ljcene进行搜索时获取整个主体,附件和电子邮件的所有元数据?如何从中提取内容。使用apache tika的Pst文件?
for (File file : docs.listFiles()) {
Metadata metadata = new Metadata();
ContentHandler handler = new BodyContentHandler();
ParseContext context = new ParseContext();
Parser parser = new AutoDetectParser();
InputStream stream = new FileInputStream(file);
try {
parser.parse(stream, handler, metadata, context);
}
catch (TikaException e) {
e.printStackTrace();
}
catch (SAXException e) {
e.printStackTrace();
}
如果你坚持1.2,你可能会如果你能够升级尝试推荐here
,我们补充说,由于RecursiveParserWrapper在1.7 ...只是升级到1.12,如果你可以,或者等待一两个星期和1.13应该出局。
通过命令行:
Java的罐子蒂卡-app.jar -J -t -i input_directory -o OUTPUT_DIRECTORY
或者代码:
Parser p = new AutoDetectParser();
RecursiveParserWrapper wrapper = new RecursiveParserWrapper(p,
new BasicContentHandlerFactory(
BasicContentHandlerFactory.HANDLER_TYPE.XML, -1));
try (InputStream is = Files.newInputStream(file)) {
wrapper.parse(is, new DefaultHandler(), new Metadata(), context);
}
int i = 0;
for (Metadata metadata : wrapper.getMetadata()) {
for (String name : metadata.names()) {
for (String value : metadata.getValues(name)) {
System.out.println(i + " " + name +": " + value);
}
}
i++;
}
欢迎来到StackOverflow Tim!不要忘了,你可以[按照这个StackExchange过滤器](http://stackexchange.com/filters/212512/apache-tika-questions)以你选择的频率得到新的Tika问题的通知! :) – Gagravarr
我试过这个只给出元数据的邮件,我们如何检索邮件正文....和附件 – user2857190
每个元数据对象代表一个文件/附件。 'wrapper.getMetadata()'返回的列表有多大?内容应该通过'X-TIKA:内容密钥'来实现。我刚刚在一个新制作的PST上检查了这个,并且它工作正常。您有可能在我们的[JIRA](https://issues.apache.org/jira/browse/tika/)上与我们分享您的PST吗? –
雅我与自动检测解析器尝试(File file:docs.listFiles()){ 元数据元数据=新的元数据();与BodyContenthandle,元数据和文档对象 – user2857190
。 ContentHandler handler = new BodyContentHandler(); ParseContext context = new ParseContext(); 解析器解析器= new AutoDetectParser(); InputStream stream = new FileInputStream(file); \t \t \t尝试{ \t \t \t \t parser.parse(流,处理程序,元数据,背景); \t \t \t} \t \t \t赶上(TikaException E){ \t \t \t \t e.printStackTrace(); \t \t \t}赶上(SAXException的发送){ \t \t \t \t e.printStackTrace(); \t \t \t} – user2857190