概述
什么是Apache Tika?
Apache Tika是一个用于从各种文件格式中检索文档类型和内容的库。
在内部,Tika使用现有的各种文档解析器和文档类型检测技术来检测和提取数据。
使用Tika,可以开发通用类型检测器和内容提取器,以在一定程度上提取结构化文本以及来自不同类型文档的元数据,例如电子表格,文本文档,图像,PDF甚至多媒体输入格式。
Tika提供了一个通用的API来解析不同的文件格式。 它为每种文档类型使用现有的专用解析器库。
所有这些解析器库都封装在称为Parser interface的单个接口下。

为什么Tika?
根据filext.com,大约有15k到51k的内容类型,这个数字正在日益增长。 数据以各种格式存储,例如文本文档,Excel电子表格,PDF,图像和多媒体文件,仅举几例。 因此,搜索引擎和内容管理系统等应用程序需要额外的支持,以便从这些文档类型中轻松提取数据。 Apache Tika通过提供通用API来定位和提取多种文件格式的数据来实现此目的。
Apache Tika应用程序
有各种应用程序可以使用Apache Tika。 在这里,我们将讨论一些严重依赖Apache Tika的重要应用程序。
搜索引擎
Tika在开发搜索引擎以索引数字文档的文本内容时被广泛使用。
搜索引擎是用于从Web搜索信息和索引文档的信息处理系统。
Crawler是搜索引擎的重要组成部分,它通过Web抓取以使用某种索引技术获取要编制索引的文档。 此后,爬虫将这些索引文档传送到提取组件。
提取组件的职责是从文档中提取文本和元数据。 这样提取的内容和元数据对于搜索引擎非常有用。 该提取组分含有Tika。
然后将提取的内容传递给搜索引擎的索引器,该索引器使用它来构建搜索索引。 除此之外,搜索引擎也以许多其他方式使用提取的内容。

文件分析
在人工智能领域,有一些工具可以在语义层面自动分析文档并从中提取各种数据。
在这样的应用中,基于提取的文档内容中的突出术语对文档进行分类。
这些工具利用Tika进行内容提取,以分析从纯文本到数字文档的各种文档。
数字资产管理
一些组织使用称为数字资产管理(DAM)的特殊应用程序管理其数字资产,如照片,电子书,绘图,音乐和视频。
这些应用程序借助文档类型检测器和元数据提取器来对各种文档进行分类。
内容分析
亚马逊等网站根据自己的兴趣向个人用户推荐新发布的网站内容。 为此,这些网站遵循machine learning techniques ,或借助Facebook等社交媒体网站的帮助来提取所需信息,例如用户的喜好和兴趣。 这些收集的信息将采用html标签或其他格式的形式,需要进一步的内容类型检测和提取。
对于文档的内容分析,我们拥有实现机器学习技术的技术,如UIMA和Mahout 。 这些技术可用于聚类和分析文档中的数据。
Apache Mahout是一个在Apache Hadoop上提供ML算法的框架 - 一个云计算平台。 Mahout通过遵循某些聚类和过滤技术提供架构。 通过遵循这种架构,程序员可以编写自己的ML算法,通过采用各种文本和元数据组合来产生推荐。 为了向这些算法提供输入,最新版本的Mahout使用Tika从二进制内容中提取文本和元数据。
Apache UIMA分析和处理各种编程语言并生成UIMA注释。 在内部,它使用Tika Annotator提取文档文本和元数据。
历史 (History)
年 | 发展 |
---|---|
2006 | Tika的想法被预测在Lucene项目管理委员会之前。 |
2006 | 讨论了Tika的概念及其在Jackrabbit项目中的用处。 |
2007 | Tika进入Apache孵化器。 |
2008 | 版本0.1和0.2发布,Tika从孵化器毕业到Lucene子项目。 |
2009 | 版本0.3,0.4和0.5已发布。 |
2010 | 版本0.6和0.7发布,Tika毕业于顶级Apache项目。 |
2011 | Tika 1.0发布,Tika“Tika in Action”的书也在同年发行。 |