Configuration Apache Tika应用程序配置文件

Configuration Apache Tika应用程序配置文件,configuration,apache-tika,Configuration,Apache Tika,我在Ubuntu 16.04服务器上使用ApacheTika应用程序作为comand line工具来提取文档内容 [Apache Tika网站][1]上说: 构建工件 Tika构建由许多组件组成,并生成 以下主要二进制文件: tika-core/target/tika-core-*.jartika-core库。包含Tika的核心接口和类,但不包含任何解析器 实现。只依赖于Java6 tika解析器/target/tika解析器-*.jartika解析器。基于各种类型实现Tika解析器接口的类的集

我在Ubuntu 16.04服务器上使用ApacheTika应用程序作为comand line工具来提取文档内容

[Apache Tika网站][1]上说:

构建工件

Tika构建由许多组件组成,并生成 以下主要二进制文件:

tika-core/target/tika-core-*.jartika-core库。包含Tika的核心接口和类,但不包含任何解析器 实现。只依赖于Java6

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

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

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

在java-jar tika-app-1.18.jar-t这样的命令行中运行此命令,可以获得所需的文件内容输出,但每次都会收到两个警告:

2018年7月28日下午3:29:27 org.apache.tika.config.InitializableProblemHandler$3 handleInitializableProblem警告:未加载J2KImageReader。 将不处理JPEG2000文件。看见 对于 可选的依赖项

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

我的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>

图像/jpeg
应用程序/x-sqlite3
如果使用该配置,我会得到
无协议:filename.doc
,并且警告仍然存在


如何排除jpeg和sqlite解析器?

我的解决方案是这个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>

在我的.bashrc文件中。

你读过并遵循了吗?@Gagravarr谢谢,不,我没有读过。基于此,我正确地输入了配置文件。我可能可以使用'image/jpeg'来避免解析图像。我可能需要一个默认配置文件,我是否仍然使用POM.XML的内容?sqlite解析器可能会以与图像相同的方式被排除,对吗?如果您自己编译Tika,您只需要
pom.xml
,配置应用程序时不需要这样做@好的,我明白了。但是我试着用第一个关于如何配置解析器的示例创建一个配置文件,然后我做
java-jar tika-app-1.18.jar--config=tika-config.xml-t
,我得到
No protocol:filename.doc
,然后sqlite文件的mime类型是什么?这些警告在初始化时出现,您在解析时排除了一些内容。您可能只是想在Windows中关闭警告。由于某些原因,路径分隔符会导致错误的文件路径
export TIKA_CONFIG=/path/to/tika-config.xml