在 Java 中将 GrobidExtractor.properties 传递给 Tika?

Passing GrobidExtractor.properties to Tika in Java?

我正在尝试编写一个 Java 应用程序,它使用 JournalParser 从期刊文章中提取作者、引文等。 GrobidJournalParser 的文档提供了命令行应用程序和 TikaServer 的说明。我需要指向 Grobid 运行 而不是 localhost:8080。我的类路径上有一个包含正确 URL 的 GrobidExtractor.properties 文件,但它似乎没有找到 - 我得到一个错误,因为它试图在 localhost:8080.[= 上访问 Grobid 13=]

   WARNING: Interceptor for {http://localhost:8080/processHeaderDocument}WebClient has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: No message body writer has been found for class org.apache.cxf.jaxrs.ext.multipart.MultipartBody, ContentType: multipart/form-data
    at org.apache.cxf.jaxrs.client.WebClient$BodyWriter.doWriteBody(WebClient.java:1220)

是否有其他方法告诉 Tika 或 JournalParser 在哪里可以找到 Grobid? Java文档在这方面没有帮助。

explained in the documentation on using GROBID with Tika 一样,如果您想将 Tika 配置为使用备用 GROBID 服务器,您可以使用名为 org/apache/tika/parser/journal/GrobidExtractor.properties

的文件进行配置

您只拨打了您的电话 GrobidExtractor.properties,这就是为什么它没有被接听。需要完整路径

假设您正在使用 Linux,使用 Tika 应用程序,并在当前目录中使用 GROBID 属性,您需要用类似的东西修复它:

mkdir -p org/apache/tika/parser/journal
mv GrobidExtractor.properties org/apache/tika/parser/journal/
java -classpath .:tika-app-1.13.jar org.apache.tika.cli.TikaCLI --metadata journal.pdf