我运行Apache tika-server 1.22的未修改JAX-RS实例,并将其用作HTTP端点服务,我将文件发布到(主要是Office,PDF和RTF)并通过HTTP返回纯文本格式(使用Accept="text/plain"
标头)请求。
从Tika 1.15开始,默认行为是“提取所有嵌入的文档” TIKA-2096。
我希望能够在tika服务器上关闭此行为,以便不提取嵌入式文档,而只获取主要文档内容的文本格式。
是否可以通过tika-config.xml
文件执行此操作,还是需要自定义构建和子类EmbeddedDocumentExtractor
使其不执行任何操作?
对tika-parser-exclude-pdf-attachments的回答表明您可以通过将EmbeddedDocumentExtractor
子类化来关闭此行为,但是我想检查是否可以通过tika-config.xml
来执行此操作而不必这样做tika服务器的自定义版本。
我看过Configuring Tika,但这里没有提及嵌入式文档。
答案 0 :(得分:1)
tika-parser-exclude-pdf-attachments中的答案非常适合通过代码致电Tika。
以前,除了使用 EmptyParser 禁用整个文件类型外,还没有办法对Tika Server中的嵌入式文件执行此操作,
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<parsers>
<parser class="org.apache.tika.parser.EmptyParser">
<mime-exclude>image/jpeg</mime-exclude>
<mime-exclude>application/zip</mime-exclude>
</parser>
</parsers>
</properties>
这已成为常见的要求,因此我在Tika 1.25(尚未发布)中添加了一项功能,以允许使用标头设置跳过嵌入式文件:
curl -T test_recursive_embedded.docx http://localhost:9998/tika --header "Accept: text/html" --header "X-Tika-Skip-Embedded: true"
任何使用 EmbeddedDocumentExtractor 的解析器都会对此表示敬意。