我想配置一个不解析XML文件的Tika服务器。
我写了以下配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<parsers>
<parser class="org.apache.tika.parser.EmptyParser">
</parser>
</parsers>
</properties>
这个配置告诉Tika什么都不解析。特别是,它不应该解析XML文件。此外,它应该在提取任何文档时失败,因为支持的EmptyParser类型是空集。让我们通过启动Tika服务器验证:
java -jar tika-1.17-src/tika-1.17/tika-server/target/tika-server-1.17.jar --config tika_config.xml
并提交一个简单的XML文件(tika_config.xml的副本):
curl -T samples/sample.xml http://localhost:9998/meta --header "Accept: application/json"
我们得到:
{"Content-Encoding":"ISO-8859-1","Content-Type":"application/xml","X-Parsed-By":"org.apache.tika.parser.html.HtmlParser","language":""}%
为什么Tika解析XML文件?而且,为什么它使用HtmlParser而不是XML解析器?
这种优惠待遇似乎特定于XML,因为我无法使用普通/文本,application / pdf,application / zip,application / octet-stream甚至text / html重现它!但是我找不到任何正在发生的事情。