首页 > 解决方案 > Tika Server - 没有书签和图像标签的解析

问题描述

我正在用tika server v1.20.

Tika 在正文中添加了 [bookmark: xx] 和 [image: xx]。我不想要他们。

样本输出:

天才大脑如何学习 David A. Sousa [图片:天才大脑如何学习] 欢迎来到我们的第三届年度 GATE 家庭图书研究。

复制:

运行服务器 -

java -jar tika-server-1.20.jar -p 5000

http://localhost:5000/tika

将文件附加为二进制文件和content-typeapplication/vnd.openxmlformats-officedocument.wordprocessingml.document

输入文件:http ://www.hasd.org/cms_files/resources/website%20book%20study%20how%20the%20brain%20works%20building%20background1.docx

\[(image:|bookmark:).*?\]由于以下情况,使用正则表达式删除此标签是有问题的:

[image: **[1].jpg]

如何使用 tika 服务器而不产生这个标签?如果不可能,如何删除它们?

标签: apache-tikatika-server

解决方案


虽然您可以通过为EmbeddedDocumentUtil添加自定义DocumentSelector以在 ParseContext 中使用来在 Tika 中覆盖它,但目前 tika-config.xml 中没有类似的东西,也没有它的命令行参数。

顺便说一句,在 Tika 1.25 中出现了递归元数据端点的标头设置,可让您指定最大嵌入式递归(参见示例)。但是,由于您想要内容,这对您的情况没有帮助:

curl -T test_recursive_embedded.docx --header "maxEmbeddedResources: 0" http://localhost:9998/rmeta

根据您要处理的内容的哪一部分,有一个端点可能就是您要查找的内容。这是/tika/main端点。

curl -T website\ book\ study\ how\ the\ brain\ works\ building\ background1.docx http://localhost:9998/tika/main --header "Accept: text/plain"

这旨在复制 Tika 应用程序的--text-main函数并使用专注于文件中主要内容的样板内容处理程序。因此,这不会处理嵌入的图像。


推荐阅读