我正在使用Apache Tika应用程序作为命令行工具,在我的Ubuntu 16.04服务器上提取文档内容。
[Apache Tika网站][1]上写道:
“构建产物”
Tika的构建由多个组件组成,生成以下主要二进制文件:
tika-core/target/tika-core-*.jar Tika核心库。包含Tika的核心接口和类,但不包括任何解析器实现。仅依赖于Java 6。
tika-parsers/target/tika-parsers-*.jar Tika解析器。基于各种外部解析器库实现Tika Parser接口的类集合。
tika-app/target/tika-app-*.jar Tika应用程序。将上述组件和所有外部解析器库合并到一个可运行的带有GUI和命令行界面的单个JAR文件中。
因此,我已下载了最新版本(1.18)的tika-app-*.jar。这只是一个单独的文件。
在类似于
如果我使用那个配置,我会得到“无协议:filename.doc”错误,并且警告仍然存在。
如何排除jpeg和sqlite解析器?
[Apache Tika网站][1]上写道:
“构建产物”
Tika的构建由多个组件组成,生成以下主要二进制文件:
tika-core/target/tika-core-*.jar Tika核心库。包含Tika的核心接口和类,但不包括任何解析器实现。仅依赖于Java 6。
tika-parsers/target/tika-parsers-*.jar Tika解析器。基于各种外部解析器库实现Tika Parser接口的类集合。
tika-app/target/tika-app-*.jar Tika应用程序。将上述组件和所有外部解析器库合并到一个可运行的带有GUI和命令行界面的单个JAR文件中。
因此,我已下载了最新版本(1.18)的tika-app-*.jar。这只是一个单独的文件。
在类似于
java -jar tika-app-1.18.jar -t <filename>
的命令行中运行此命令可以给我所需的文件内容输出,但每次都会收到两个警告:
2018年7月28日下午3:29:27 org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem WARNING: J2KImageReader未加载。 JPEG2000文件将不会被处理。请参见 https://pdfbox.apache.org/2.0/dependencies.html#jai-image-io以获取 可选依赖项。
2018年7月28日下午3:29:27 org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem WARNING: org.xerial的sqlite-jdbc未 加载。请提供您类路径上的jar以解析sqlite 文件。请查看tika-parsers/pom.xml以获取正确版本。
我不知道这些警告是否会使事情变慢,但在这些重复的警告中很难跟踪其他输出。
我尝试通过以下方式将Tika指向我的自定义配置文件:
java -jar tika-app-1.18.jar --config=tika-config.xml -t <filename>
我的tika-config.xml文件是:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<parsers>
<parser class="org.apache.tika.parser.DefaultParser">
<mime-exclude>image/jpeg</mime-exclude>
<mime-exclude>application/x-sqlite3</mime-exclude>
<parser-exclude class="org.apache.tika.parser.jdbc.SQLite3Parser"/>
</parser>
</parsers>
</properties>
如果我使用那个配置,我会得到“无协议:filename.doc”错误,并且警告仍然存在。
如何排除jpeg和sqlite解析器?
<mime-exclude>image/jpeg</mime-exclude>
来避免解析图像。我可能需要一个默认的配置文件,我还是使用 POM.XML 的内容吗?SQLite 解析器可能会被排除在与图像相同的方式下,对吗? - user164863pom.xml
,而在配置应用程序时则不需要这样做! - Gagravarrjava -jar tika-app-1.18.jar --config=tika-config.xml -t <filename>
,结果出现No protocol: filename.doc
。那么sqlite文件的MIME类型是什么? - user164863