我正在使用Tika外观,根据elasticsearch-mapper-attachment插件的示例。这是我的测试代码:
Tika tika = new Tika();
Metadata md = new Metadata();
try {
String content = tika.parseToString(src, md, 100000);
System.out.println("Content length: " + content.length());
for (String s: md.names()) {
System.out.println(s + ": " + md.get(s));
}
}
catch (TikaException e) {
System.out.println(e);
}
下面是输出:
Content length: 0
X-Parsed-By: org.apache.tika.parser.EmptyParser
Content-Type: text/html
所以问题是:如果Tika正确地将输入识别为text/html
,为什么它使用EmptyParser
?如果我应该传递解析器,我应该通过哪个解析器以获得最佳结果,假设自动检测成功,如上所述。
谢谢。
确保tika-parsers
在你的类路径上!如果您使用的是 Gradle,
compile 'org.apache.tika:tika-parsers:1.7'
会做这个伎俩。