为什么Tika门面选择EmptyParser?

时间:2015-03-10 01:41:29

标签: java apache-tika

根据elasticsearch-mappper-attachment plugin的例子,我使用的是Tika门面。这是我的测试代码:

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?如果我应该通过解析器,我应该通过哪个解析器以获得最佳结果,假设自动检测成功,如上所述。

谢谢。

1 个答案:

答案 0 :(得分:2)

确保{class 1}}在您的类路径上!如果您使用的是Gradle,

tika-parsers

会做到这一点。