Apache Tika™工具包可从超过一千种不同的文件类型(如PPT,XLS和PDF)中检测和提取元数据和文本。所有这些文件类型都可以通过单一界面进行解析,使Tika对搜索引擎索引,内容分析,翻译等非常有用。

解析方法将文档解析并将相关元数据作为输入,并将结果输出为XHTML SAX事件和额外元数据。 parse context参数用于指定与任何单个文档无关的上下文信息(如当前本地)。导致这种设计的主要标准是:

[erji]流式解析[/erji]

接口应该既不需要客户端应用程序也不需要解析器实现来将完整的文档内容保存在内存中或假脱机到磁盘。这样即使在没有过多资源需求的情况下也可以解析大型文档。

[erji]结构化内容[/erji]

解析器实现应该能够在提取的内容中包括结构信息(标题,链接等)。例如,客户端应用程序可以使用此信息来更好地判断已解析文档的不同部分的相关性。

[erji]输入元数据[/erji]

客户端应用程序应该能够包含文件名或声明的内容类型等元数据以及要解析的文档。解析器实现可以使用此信息来更好地指导解析过程。

[erji]导出元数据[/erji]

除了文档内容之外,解析器实现应该能够返回文档元数据。许多文档格式包含元数据,例如可能对客户端应用程序有用的作者姓名。

[erji]上下文敏感度[/erji]

虽然Tika解析器的默认设置和行为应该适用于大多数用例,但仍然存在需要对解析过程进行更细粒度控制的情况。在不破坏抽象层的情况下,将这种特定于上下文的信息注入解析过程应该很容易。

[erji]Apache Tika 1.20包含许多改进和错误修复[/erji]

  •  升级到POI 4.0.1(TIKA-2751)。

  • 在PDFBox(TIKA-2779)中集成/参数化新的角度处理。

  • 升级到PDFBox 2.0.13(TIKA-2788)。

  • 防止<style/>和<script/>元素中的内容写入ToTextContentHandler(TIKA-2550)。

  • 在tika-server的-spawnChild模式下将子进程切换到父进程通信到共享内存映射文件。

  • 修复了在传统模式(而不是-spawnChild)中运行时tika-server中的错误,导致它在达到OutOfMemoryError(TIKA-2776)后提交的文档上返回503。

  • 升级jaxb-runtime和javax.activation(TIKA-2778)。

  • 批处理模式下的tika-app现在需要向父进程发出中断或终止信号以停止父进程和子进程(TIKA-2780)。

  • 批量升级依赖项(TIKA-2775)。

  • 提高tika-eval(TIKA-2777)的语言效率。

  • 将sqlite“提供”依赖项升级到3.25.2(TIKA-2773)。

  • 删除PPT幻灯片中的重复备注(TIKA-2735)

  • 在tika-server的-spawnChild模式下生成子进程时,使用-javaHome或$ JAVA_HOME(如果存在)。

  • 修复了Word Parser中超链接周围样式的关闭贡献者:Ronan O'Sullivan(TIKA-2599)。