问题标签 [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.

0 投票
0 回答
471 浏览

java - Tika 服务器返回状态:404

我正在尝试使用 python 设置 Tika 进行文本提取。我已经安装Java runtime jre 1.8.0,安装了 tika ,从这个链接pip install tika==1.23下载了 tika 服务器 jar 文件,并且如本页所述,我已将变量添加到系统环境变量中。我用命令启动了 tika 服务器,我得到了类似下面的东西TIKA_SERVER_JAR="..tika-server-1.9.jar"java -jar "..tika-server-1.9.jar"

当我http://localhost:9998/在浏览器中打开时,它会显示 Tika API 文档。

但是当我尝试使用 python 提取文本时,如下所示。

tika 没有按预期工作。它引发了如下异常。这是我在控制台上看到的,仅此而已。

几个月前,我曾经成功地将 tika 与 python 一起使用,但我对我现在缺少的东西一无所知。

编辑:当我运行上面的 python 片段时,我可以在控制台中看到如下所示的详细信息。

这是我每次运行 python 脚本提取文本时在控制台上看到的内容。

0 投票
2 回答
217 浏览

openshift - Tika Server 不读取 PDF 中的嵌入图像

嗨,Tika Server 是使用 tesseract 设置的,但它仍然没有读取 PDF 中的嵌入图像。尝试使用两个可用的标题,但没有帮助。

这仅适用于 PDF 文件。同时,OCR 适用于其他文件类型/图像。

在这里使用定制的 docker 容器。奇怪的是,部署在另一台机器上的同一个容器可以工作。有没有低级问题的可能性?

更新: 比较日志后,似乎 OCP 正在将自定义 HTTP 标头小写,如 X-Tika ...、Postman-Token 到 x-tika ...、postman-token 等。任何人都可以帮助我解决可能的问题?

0 投票
1 回答
131 浏览

google-cloud-platform - Google Cloudrun 上的 Apache Tika Docker 映像(堆大小问题)

我正在尝试在 Google Cloud Run 上运行 Apache Tika 服务器。这些是遵循的步骤:

  1. 我使用命令 gcrane cp apache/tika:1.24.1-full us-east1-docker.pkg.dev/resume-ai-frontend/tikaserverrepo/tikaserver 将 Apache Tika 的 Docker 映像从 DockerHub 复制到 GCP Artifactory

  2. 我也能够将 Tika 的 docker 映像部署到 Cloudrun 上。

但是,当我尝试运行一些 Curl 命令时,我看到我遇到了 Heap Size 错误,如下所示。

GCP中报告的错误消息的详细信息如下:

在此处输入图像描述

google cloud shell 上的 curl 命令包括:

我相信分配的容量也足够了

在此处输入图像描述

请告诉我如何改善 Tika 的堆大小?

0 投票
0 回答
62 浏览

python - 如果我稍后清理“temp”,有没有办法让 tika-server.jar 永久化?

我正在使用TIKA 解析器从 PDF 中提取文本,但它会将tika-server.jar下载到 C:\Users\User\AppData\Local\Temp 中。如果我稍后清理“临时”,有没有办法让它永久化?我们可以在生产中使用 TIKA 解析器吗?

尝试了其他库,如pyPdf2,但它适用于某些文件,不适用于其他文件。

0 投票
0 回答
35 浏览

java - How can I use Tika to parse PDF without having Java on my PC(In Python)

We need to have Java 8 or higher for Tika to work in python. It creates a server.jar in the temp folder. I was thinking if we can add it in a folder where my python file is kept so the user doesn't need to have Java installed

0 投票
0 回答
184 浏览

aws-lambda - Lambda 上的 Apache Tika

我已经能够让 Tika 服务器的 Docker 预构建映像在 AWS ECS 上作为 Fargate 任务运行。我现在想让 Tika 服务器(或等效功能)在 AWS Lambda 上运行。在请求到达 Lambda 之前,请求最初会通过 AWS API Gateway(HTTP 代理集成)。我绝对理解 Lambda 在大负载(即超过 6 MB)和时间限制(最多 15 分钟)方面存在问题,但我们计划使用指定 URL 功能,我们相信 Tika 不需要 15 分钟或更长时间来提取一份文件。在 Lambda 上运行 Tika 可以实现更好、更轻松的可扩展性以及一些安全性改进。

此方法的困难在于 AWS Lambda 运行时使所有请求都通过 Lambda 处理程序函数。因此,不能只使用 Lambda 容器映像,而是使用预构建的 Lambda Docker 映像。

我可以在 Lambda 处理函数中编写一堆代码来解析进入 Lambda 的请求,然后调用相应的 Apache Tika API 作为库。但是,我相信这需要一堆代码。

另一种选择可能是对 Lambda 处理程序函数进行编码以使用 Lambda框架。然而,这个框架处于测试阶段,似乎是一个死项目(最后一次提交是在三年前)。此外,我不确定 Lambada 如何与 Tika 一起使用。

如果我想让 Tika 在 Lambda 上工作,最干净、最简单的选择是什么?

0 投票
0 回答
51 浏览

apache-tika - TIKA - 计算文档的内容编码

我正在使用 Tika 1.26 来提取文档的元数据。

我首先尝试了 Tika Server,然后我切换到了编程 API。然而,即使文档声明Content-Encoding文档的 应该通过/meta API或 MetadataParser 返回,该属性实际上并没有返回。

我发现实际返回 Charset 的 API 是CharsetDetector,但我不知道如何通过 Tika Server 调用相同的 API。我现在没有任何线索。

有人可以指出为这个用例建模的正确方法是什么,或者我做错了什么?

0 投票
0 回答
108 浏览

python - 使用 resume_parser 读取文件时出错

使用 resume_parser python 模块读取文件时出现 Tika Server Jar 文件错误。文件格式为 pdf/doc/docx。它发出警告:

Python 脚本

  1. 尝试如下设置环境变量:它不起作用。

TIKA_SERVER_JAR = http://search.maven.org/remotecontent?filepath=org/apache/tika/tika-server/1.24/tika-server-1.24.jar

  1. 尝试下载jar文件并在环境变量中设置该路径,这也不起作用。

预期输出是包含简历中详细信息的字典,例如电子邮件、技能、电话号码、大学、公司信息等,

它在前几次有效,然后我收到了这个错误。

0 投票
1 回答
243 浏览

apache-tika - 如何使用 Apache Tika Server 从 PDF 中提取内联图像并将其保存为文件?

有没有办法做到这一点?我在 PUT 请求中使用以下标头http://localhost:9998/tika

响应是否包含图像?如果是这样,我该如何保存它们?

使用 Apache Tika 服务器 1.26

0 投票
1 回答
97 浏览

node.js - 如何在 NodeJs 中将文件放入 Tika 服务器

情景

我在官方 Docker Image中运行一个 VueJs 客户端、一个 NodeJs Restify API 服务器和一个 Tika-server 。用户POST拨打电话,formData其中包含要解析的 PDF 文件。API 服务器收到 POST 调用,我将 PDF 保存在服务器上。API 服务器应该将文件放到 Tika 服务器上的 unpack/all 端点,并接收一个包含文本文件、元数据文件和 PDF 中的图像集的 zip。然后我会处理 zip 并将一些数据传回给客户端。

问题

我创建了一个包含要使用let parsingData = fs.createReadStream(requestFilename);或解析的文件的缓冲区let parsingData = fs.readFileSync(requestFilename);,将 axios 数据字段设置为 parsingData,然后提出我的请求。当我从 Tika-server 收到响应时,Tika-server 似乎已将请求视为空;在 zip 中,没有图像,TEXT文件是空的,元数据

当我通过 CURL 向 Tika 服务器发出以下请求时curl -T pdf_w_images_and_text.pdf http://localhost:9998/unpack/all -H "X-Tika-PDFExtractInlineImages: true" -H "X-Tika-PDFExtractUniqueInlineImagesOnly: true"> tika-response.zip,我得到一个响应 zip 文件,其中包含准确的文本、元数据、剥离的图像。

编码

问题

如何PUT在 NodeJs 中对我的文件进行编码并将其附加到我的请求中,以便 Tika 服务器像我发出请求时那样对待它CURL