Java 空解析器和Tika服务器模式

Java 空解析器和Tika服务器模式,java,apache-tika,tika-server,Java,Apache Tika,Tika Server,我很难理解如何将解析器加载到Tika中。从他们的文档中可以看出,Tika应用程序预装了解析器()。当我运行这个命令来启动服务器时 ./.java-buildpack/open_jdk_jre/bin/java -jar ./lib/tika-app-1.24.1.jar -s --port ${PORT} 2020-11-02T13:30:26.04-0600 [APP/PROC/WEB/0] ERR Nov 02, 2020 7:30:26 PM org.apache.tik

我很难理解如何将解析器加载到Tika中。从他们的文档中可以看出,Tika应用程序预装了解析器()。当我运行这个命令来启动服务器时

    ./.java-buildpack/open_jdk_jre/bin/java -jar ./lib/tika-app-1.24.1.jar -s --port ${PORT}

    2020-11-02T13:30:26.04-0600 [APP/PROC/WEB/0] ERR Nov 02, 2020 7:30:26 PM org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem
   2020-11-02T13:30:26.04-0600 [APP/PROC/WEB/0] ERR WARNING: J2KImageReader not loaded. JPEG2000 files will not be processed.
   2020-11-02T13:30:26.04-0600 [APP/PROC/WEB/0] ERR See https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io
   2020-11-02T13:30:26.04-0600 [APP/PROC/WEB/0] ERR for optional dependencies.
   2020-11-02T13:30:26.53-0600 [APP/PROC/WEB/0] ERR Nov 02, 2020 7:30:26 PM org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem
   2020-11-02T13:30:26.53-0600 [APP/PROC/WEB/0] ERR WARNING: org.xerial's sqlite-jdbc is not loaded.
   2020-11-02T13:30:26.53-0600 [APP/PROC/WEB/0] ERR Please provide the jar on your classpath to parse sqlite files.
   2020-11-02T13:30:26.53-0600 [APP/PROC/WEB/0] ERR See tika-parsers/pom.xml for the correct version.
   2020-11-02T13:30:26.80-0600 [APP/PROC/WEB/0] OUT Successfully started tika-app's server on port: 8080
   2020-11-02T13:30:26.80-0600 [APP/PROC/WEB/0] ERR WARNING: The server option in tika-app is deprecated and will be removed
   2020-11-02T13:30:26.80-0600 [APP/PROC/WEB/0] ERR by Tika 2.0 if not shortly after Tika 1.14.
   2020-11-02T13:30:26.80-0600 [APP/PROC/WEB/0] ERR Please migrate to the JAX-RS tika-server package.
   2020-11-02T13:30:26.80-0600 [APP/PROC/WEB/0] ERR See https://wiki.apache.org/tika/TikaJAXRS for usage.
   2020-11-02T13:31:25.66-0600 [HEALTH/0] ERR Failed to make HTTP request to '/version' on port 8080: timed out after 1.00 seconds
   2020-11-02T13:31:25.66-0600 [CELL/0] ERR Timed out after 1m0s: health check never passed.

我有最新的tika版本1.24.1。他们的文档提到下载tika服务器并在运行时传递类路径以指向tika-parsers.jar(),但我在任何地方都找不到parsers.jar文件。我正在使用openjdk-jre-1.8.0来运行它。

默认情况下,解析器应该是捆绑的。服务器模式下的Tika应用程序(-s)是基于套接字的服务器。您可以通过使用netcat并查看是否收到响应来确认它是否正常工作:

nc localhost 8080 -q2 < test.pdf
nc localhost 8080-q2
要在Python中使用它,您需要编写自定义代码,打开一个套接字并发送输入,发送一个SHUT_WR,然后读回输出


如果您使用的是tika python库,它希望使用tika服务器JAR中的而不是tika应用JAR中的。它有一些帮助器设置,因此您可以指向JAR,或者您可以托管自己的实例(self-run或docker)并为其提供URL。

您在获取内容时遇到问题吗?或者只是想知道关于缺少某些解析器的其他本机依赖项的警告?在使用python并连接到此服务器时,我不会得到任何内容。它总是给我一个空的解析器错误。