apache-tika - 有没有办法关闭 tika-server 中嵌入文档的解析?

标签 apache-tika tika-server

我运行一个未修改的 Apache tika-server 1.22 的 JAX-RS 实例,并将其用作 HTTP 端点服务,我将文件发布到(主要是 Office、PDF 和 RTF)并通过 HTTP 请求(使用Accept="text/plain" header )来自我们的应用程序。

从 Tika 1.15 开始,默认行为现在是“提取所有嵌入的文档”TIKA-2096 .

我希望能够在我们的 tika-server 上关闭此行为,以便不提取嵌入的文档,并且我只能获得主要文档内容的文本再现。

是否可以通过 tika-config.xml 来做到这一点?文件,或者我需要做一个自定义构建和子类 EmbeddedDocumentExtractor所以它什么都不做?

回复 tika-parser-exclude-pdf-attachments表示您可以通过继承 EmbeddedDocumentExtractor 来关闭此行为。 ,但我想检查是否可以通过 tika-config.xml 执行此操作无需对 tika-server 进行自定义构建。

我看过Configuring Tika但这里没有提到嵌入式文档。

最佳答案

答案在tika-parser-exclude-pdf-attachments如果您通过代码调用 Tika,则非常适合。
以前没有办法对 Tika 服务器中的嵌入文件执行此操作,除了使用 EmptyParser 禁用整个文件类型,如下所示:

<?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(尚未发布)中添加了一项功能,以允许使用 header 设置跳过嵌入的文件:
curl -T test_recursive_embedded.docx http://localhost:9998/tika --header "Accept: text/html" --header "X-Tika-Skip-Embedded: true"
任何使用 EmbeddedDocumentExtractor 的解析器都会遵守这一点。

关于apache-tika - 有没有办法关闭 tika-server 中嵌入文档的解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58318584/

相关文章:

android - 如何在 Android 上使用 Apache Tika

Python Tika 无法从 url 解析 pdf

python - 使用 unpack 方法来自 tika python 模块的警告消息

java - 使用 Content-Type header 从 eml 文件中提取附件名称

Python-Tika 返回 PDF 的 "None"内容,但适用于 TIFF

java - Python tika 解析器错误 - 无法从 startServer 接收启动确认

tomcat - 在 Solr 1.4.1 和 Tika 0.4 上获取 404 for/solr/update/extract

android - Tika 与安卓兼容吗?

python将文件发送到作为服务运行的tika