问题标签 [tika-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用 Tika 解析选择的类型
我希望 Tika 只解析 zip 文件和 pdf 文件。
具有以下内容tika_config.xml
:
启动 tika-server 1.17:
提交一个由 pdf ant txt 组成的 zip 文件:
我明白了
X-TIKA:EXCEPTION:embedded_exception
对于不是预期类型的文件,在元字段中获取异常堆栈跟踪是否正常?
有没有办法在不引发异常的情况下忽略这些文件,例如将 EmptyParser 与所有可能的类型显式关联?
更新:在为 Tika 定义 .TXT 文件的 MIME 类型中单独的第 1 期,澄清并为第 2 期提供日志。
java - 告诉 Tika 不要解析 XML
我想配置一个不解析 XML 文件的 Tika 服务器。
我编写了以下配置文件:
此配置告诉 Tika 绝对不解析任何内容。特别是,它不应该解析 XML 文件。此外,它应该无法提取任何文档,因为支持的 EmptyParser 类型是空集。让我们通过启动 Tika 服务器来验证这一点:
并提交一个简单的 XML 文件(tika_config.xml 的副本):
我们得到:
为什么 Tika 解析那个 XML 文件?此外,为什么它使用 HtmlParser 而不是 XML 解析器?
这种优惠待遇似乎特定于 XML,因为我无法使用纯文本、应用程序/pdf、应用程序/zip、应用程序/八位字节流甚至文本/html 来复制它!但是我找不到任何关于正在发生的事情的提示。
mime-types - 为 Tika 的 .TXT 文件定义 MIME 类型
我想定义 *.txt files: 的 MIME 类型text/txt
,以便 Tika 可以应用比用于text/plain
文件的解析器更具体的解析器。
glob*.txt
包含在类型的定义text/plain
中tika-mimetypes.xml
。此外,在我看来,您无法在 中重新定义 MIME 类型custom-mimetypes.xml
,只能添加新的 glob 或魔术模式。此外,如果我将text/txt
类型定义为只有 globtika-mimetypes.xml
的子类型,Tika 仍将 txt 文件检测为.text/plain
*.txt
text/plain
text/plain
只为txt文件定义一个子类型是不是很荒谬?如果不是,是否可以仅使用 来定义它custom-mimetypes.xml
?如果不是,那么扩展 tika 的最简单方法是什么,以便它可以解析不同于(比如说)STEP 3D CAD .stp 文件或 .cfg 文件的 txt 文件?
详细用例:我有大量由(递归)档案组成的数据源。一些纯文本文件很大,我不希望 Tika 解析它们。但是,我想保留所有的 txt 文件。
编辑:指定我也不想保留 .cfg 文件(*.cfg
是一个 glob text/plain
)
apache-tika - Tika app、Tika Server 和 Java Wrapper 之间有什么区别。使用哪一个以及何时使用?
我想将 Apache Tika 用于企业级的大量文档。我使用哪一个,Tika Server 或 Tika App 或 Java 调用?你能给我推荐一个系统架构吗?(即负载均衡的3-4个Tika物理不同的Server)
python-requests - 来自 Python 客户端的 TikaJAXRS PUT
Apache Tika 应该可以通过 HTTP 从 Python 程序访问,但我无法让它工作。
我正在使用这个命令来运行服务器(最后有和没有两个选项):
它适用于 curl:
但是当我尝试类似的东西时(尝试了不同的标题组合,在这里我重新创建了与 python-tika 客户端使用的相同的标题):
我尝试使用有效负载以及 fileUrl -WARN javax.ws.rs.ClientErrorException: HTTP 406 Not Acceptable
在服务器上具有相同的结果和 java 堆栈跟踪。完整跟踪:
我还尝试比较(与nc -l localhost 5677 | less
)两个请求的不同之处(有效载荷缩写):
从卷曲:
来自 Python 请求库:
问题是,从 Python 调用 Tika 服务器的正确方法是什么?
我还尝试tika
了仅客户端模式下的 python 库并通过 jnius 使用 tika-app。使用 tika 客户端,以及将 tika-app.jar 与 pyjnius 一起使用,当我在 celery worker 中使用它们时,我只会冻结(调用永不返回)。同时,pyjnius / tika-app 和 tika-python 脚本都可以在脚本中很好地工作:我还没有弄清楚 celery worker 内部有什么问题。我想,与错误位置的线程和/或初始化有关。但这是另一个问题的话题。
这是 tika-python 的要求:
现在看来这是 tika 服务器的某种问题:
参照:
apache - Apache Tika REST-Server // 不同状态的代码 422(不可处理实体)?-> 如何区分?
Apache Tika REST 服务器提供带有密码状态代码 422(不可处理实体)的 PDF 文档。如果文件格式不受支持,也会发送 422。
不幸的是,无法区分文件的元数据是否由于加密或格式而无法确定。
当我通过 Tika 应用程序调用文件时,我在控制台中收到消息“加密文件”或“格式无效”。
不幸的是,结果标头也不包含其他信息。
例子:
有没有办法在 REST 调用后获得错误 422 的附加描述?最好通过标题数据的扩展。
非常感谢,问候奥利弗
apache - 如何使用 TikaConfig 和 Tika 命令行实用程序启用 TesseractOCRParser?
我已经安装了 apache Tika 1.8,它运行良好,除了 OCR 部分不工作。我安装了 Tesseract,它也可以正常工作。当我尝试发送带有图像的pdf时,我得到以下信息。
警告:Tesseract OCR 已安装并将自动应用于图像文件,除非您已将 TesseractOCRParser 从默认解析器中排除。Tesseract 可能会显着减慢内容提取速度 (TIKA-2359)。从 Tika 1.15(和之前的版本)开始,自动调用 Tesseract。在未来的 Tika 版本中,用户可能需要通过 TikaConfig 打开 TesseractOCRParser。
我可以使用命令行实用程序配置 TikaConfig 吗?还是我必须克隆项目并更新 pom 并重建。我真的不想这样做。
这里有一些关于如何使用命令行实用程序和 TikaConfig 的信息,但我无法弄清楚如何使用它启用 TesseractOCRParser。
任何帮助,非常感谢。
python - 422 Tika 服务器响应?蒂卡蟒蛇
我一直在尝试让 Apache-Tika 使用这个 python 包:https ://github.com/chrismatmann/tika-python
我的 python 程序中有以下代码:
但我每次都会收到 422 响应:
当我使用以下命令时,Apache Tika 确实有效:
我真的很想用 Tika-Python 包来修复这个错误,因为如果这可行的话,项目的其余部分会容易得多。
python - Python - Apache Tika 单页解析器
我想知道是否有任何方法使用 Tika/Python 仅解析第一页或仅从第一页提取元数据?现在,当我传递 pdf 时,它正在解析每一页。我看了这个链接:Is it possible to extract text by page for word/pdf files using Apache Tika? 但是,此链接在我不熟悉的 java 中解释了更多内容。我希望有一个python解决方案吗?谢谢!
python - 来自 tika python 模块的警告消息使用 unpack 方法
我目前正在使用tika
从 pdf 文件中提取文本。tika
我在模块中找到了一个非常快速的方法。这种方法称为unpack
. 这是我的代码:
但是,偶尔(不总是!)我会收到以下警告:
重试后代码开始工作。但是,我不明白这个警告,而且重试也需要时间。任何人都知道为什么我会收到此警告?
这是 github 页面: https ://github.com/chrismatmann/tika-python