Apache Tika App配置文件

时间:2018-07-28 15:18:04

标签: configuration apache-tika

我正在Ubuntu 16.04 Server上使用Apache Tika App作为命令线工具来提取文档内容。

[Apache Tika网站] [1]说:

  

构建工件

     

Tika版本包含许多组件,并生成   以下主要二进制文件:

     

tika-core / target / tika-core-*。jar Tika核心库。包含Tika的核心接口和类,但没有解析器   实现。仅取决于Java 6。

     

tika解析器/ target / tika-parsers-*。jar 。基于各种实现Tika Parser接口的类的集合   外部解析器库。

     

tika-app / target / tika-app-*。jar Tika应用程序。将上述组件和所有外部解析器库合并为一个   具有GUI和命令行界面的可运行jar。

因此,我下载了tika-app-*.jar的最后一个版本(1.18)。那只是一个文件。

在类似java -jar tika-app-1.18.jar -t <filename>的命令行中运行此命令不仅可以为我提供所需的文件内容输出,而且还可以在每次得到两个警告时提供给我:

  

2018年7月28日下午3:29:27   org.apache.tika.config.InitializableProblemHandler $ 3   handleInitializableProblem警告: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警告: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>

如果我使用该配置,则会得到No protocol: filename.doc并且警告仍然存在。

如何排除jpeg和sqlite解析器?

1 个答案:

答案 0 :(得分:0)

我的解决方案是这个tika-config.xml文件:

 <?xml version="1.0" encoding="UTF-8"?>
 <properties>
   <service-loader loadErrorHandler="IGNORE"/>
   <service-loader initializableProblemHandler="ignore"/>
  <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>

然后设置:

export TIKA_CONFIG=/path/to/tika-config.xml

在我的.bashrc文件中。