6

我目前正在使用tika从 pdf 文件中提取文本。tika我在模块中找到了一个非常快速的方法。这种方法称为unpack. 这是我的代码:

from tika import unpack

text = unpack.from_file('example.pdf')['content']

但是,偶尔(不总是!)我会收到以下警告:

2018-11-02 15:30:25,533 [MainThread ] [WARNI] Failed to see startup log message; retrying...

重试后代码开始工作。但是,我不明白这个警告,而且重试也需要时间。任何人都知道为什么我会收到此警告?

这是 github 页面: https ://github.com/chrismatmann/tika-python

4

1 回答 1

1

Tika python 是 Apache Tika 的 python 绑定。它绑定 Apache Tika 的方式是使用 Tika 公开的其余服务通过 http 进行交互。如果您将 Tika 作为仅客户端模式运行,那么它只是与提供的 url 交互。否则,它会在本地启动一个 Apache Tika 服务器以与其交互。

现在我假设您没有将 Tika 作为仅客户端模式运行。所以基本上库将旋转一个 Tika Apache 服务器。它验证它是否已成功生成 Tika 服务器的方法是检查 Tika 日志文件中是否存在消息““Started Apache Tika server at”。此验证是递归完成的,直到有时间延迟的限制。请参阅来源在这里

基本上是您看到的消息,因为在第一次验证时,Apache Tika 服务器仍未启动。

我认为警告消息在这里不应该有任何后果,因为验证发生在启动服务器的命令之后。我不确定图书馆应该如何处理这个问题。可能是您可能会争辩说它应该将其记录为信息。同样增加时间延迟在这里也无济于事,因为验证是在启动命令之后立即完成的。

另一方面,我不确定验证是否处理较旧的消息,就像您两次调用解包一样,库是否确保上次运行的日志文件不存在?

于 2018-11-09T09:23:17.807 回答