本文转载自:http://blog.csdn.net/zbf8441372/article/details/8520352
项目介绍
Tika是一个内容分析工具,自带全面的parser工具类,能解析基本所有常见格式的文件,得到文件的metadata,content等内容,返回格式化信息。总的来说可以作为一个通用的解析工具。特别对于搜索引擎的数据抓去和处理步骤有重要意义。
Tika是一个目的明确,使用简单的apache的开源项目。下图是Tika诞生的一个历史过程。
Tika项目之初来源于Nutch项目(大家应该都不陌生),现在是Lucene的子项目,所以也是来源于搜索引擎。其实Nutch这个项目的开发过程中,孕育了不少东西,应该都归功于Doug Cutting。我个人也是觉得这件事情很赞,要搞Nutch这样一个通用的搜索引擎,包括了全文索引和Web爬虫两大块内容,在开发过程中逐渐诞生出一些核心的周边产品,再孕育成子项目,包括hadoop,Lucene,Tika等等这些现代很主流,使用人群很广的通用项目,带给了IT界不少便利。我个人对此非常憧憬,觉得甚是美好。
从源码看功能
通过src里几个包和主要类,看Tika能干什么。跳过core包,tika-parsers展示了Tika能处理的文件类别和内容,
音频,图片,文本,各种格式的文件,tika都有对应的parser类来处理。而且Tika提供给了一些parser接口供扩展。tika-bundle提供Tika结合OSGi容器的能力。tika-app而则是一个在代码外直接使用Tika的jar包,可以在官网直接下载使用,提供gui和cmd使用方式,直观地体验这款产品。下面我会截图展示。
Tika架构
下图解释了Tika的架构以及关键零部件的主要设计目标:由一个解析器框架(中间),MIME检测机制(右侧),语言检测(左侧),和一个facade组件(中间部分的原理图)联系所有组件。外部接口,包括命令行和图形界面(下一节我会简单介绍),允许用户集成到脚本或者应用程序,并与Tika直接交互。在整个结构中,Tika的体系结构是可扩展的,新的解析器可以轻松地添加和删除。
Tika使用
直接使用Tika,只要java -jar tika-app-1.2 --gui即可启动,你可以把打开本地文件或者添加你要解析的url地址,甚至直接把各种文件拖入Tika,查看Tika的解析结果。大家可以直接下载jar包体验下,非常方便。在View内可以选择你想查看的内容(Metadata, text等)。Tika对图片的处理主要是提供一些元信息,并不能分析出图片内的内容,所以图片形式的pdf文件自然是不能查看text信息的。
如果是用命令行,类似的语法是这样的:
java -jar tika-app-1.0.jar --text document.doc java -jar tika-app-1.0.jar --encoding=UTF-8 --text document.doc java -jar tika-app-1.0.jar --metadata document.doc
想在别的工程中使用Tika,只要在maven项目依赖里添加Tika,new Tika的实例,然后直接调用Tika的解析parser类,即可获取到处理后的信息。给个最简单的例子:
import java.io.File; import org.apache.tika.Tika; public class SimpleTextExtractor { public static void main(String[] args) throws Exception { // Create a Tika instance with the default configuration Tika tika = new Tika(); // Parse all given files and print out the extracted text content for (String file : args) { String text = tika.parseToString(new File(file)); System.out.print(text); } } }
总结
介绍Tika出于两个目的:
1. 感觉是一个通用,实用且易用的分析工具,可以与lucene,solr结合,天生服务搜索引擎
2. 感叹Nutch项目发展历史,Apache各种开源项目的紧密,自然,优美的关联性。
更多内容参看 《Tika in action》
相关推荐
Apache Tika 1.1 所需要的jar包,方便不想用maven的同学. 此压缩包内是核心jar包,依据http://tika.apache.org/1.1/gettingstarted.html 中Using Tika in an Ant project章节列出的 classpath 找齐 部分版本比文章中...
tika-python 绑定到 Apache Tika REST 服务 Python binding to the Apache Tika REST services Apache Tika 库的 Python 端口,可使用 Tika REST 服务器使 Tika 可用。这使得 Apache Tika 可作为 Python 库使用,可...
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。...
Apache Tika是一个强大的内容检测和元数据提取库,主要用于解析各种不同格式的文件。它被广泛应用于信息检索、文本挖掘和内容分析等领域。Tika与Apache Lucene项目密切相关,Lucene是一个高性能、全文本搜索库,而...
Apache Tika是一个强大的开源工具,专门用于从各种文件格式中提取元数据和文本内容。它在信息技术领域,尤其是在搜索引擎和内容分析应用中扮演着重要角色。"apache-tika-0.1-incubating-src.tar.gz"是Apache Tika...
tika-parsers-1.9.jar是 Apache Tika 中用于解析各种文档格式的核心组件之一
Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。 将上传文件至服务器,进行解析文件时,经常需要判断文件是否损坏。我们可以使用tika来检测文件是否损坏 maven引入如下: <groupId>org.apache.tika...
Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件类型中抽取文本和元数据。这个"apache-tika-0.8-src.jar"文件是Tika项目在0.8版本的源代码,它提供了深入理解Tika内部工作原理的机会,对于...
Apache Tika是一个强大的内容分析工具库,主要用于从各种文件中提取元数据和结构化文本。在Java开发中,Tika是处理文档解析和内容识别的一个重要组件,它可以帮助开发者识别和提取不同文件格式中的信息。在"tika-...
欢迎使用Apache Tika Apache Tika TM是使用现有解析器库从各种文档中检测和提取元数据和结构化文本内容的工具包。 Tika是的项目。 Apache Tika,Tika,Apache,Apache Feather徽标和Apache Tika项目徽标是The Apache...
本文将深入探讨“ofd-parser”项目,这是一个专为解析OFD(开放式固定格式文档)设计的Apache Tika解析器。OFD作为一种开放标准的电子文档格式,旨在替代传统的PDF,提供更安全、更可控的文档交换环境。而Apache ...
Apache Tika 是一个开源的库,专为解析和检测各种文件格式而设计,它在Java环境中尤为适用。TikaExamples项目则提供了丰富的示例代码,帮助开发者了解如何有效地利用Tika进行文本提取、元数据获取以及语言检测等功能...
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该...
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该...
PhpTikaWrapper, 用于 Apache Tika的简单PHP包装器 这是一个用于 Apache Tika的简单。它允许开发人员从复杂文档中检索文本。元数据和语言。支持格式它支持开放性,Office. doc 和. docx, pdf,图像,视频和更多 !...
1. **MIME类型识别**:Tika通过使用Apache Tika-Mime库来识别文件的MIME类型,这是确定如何解析文件的关键步骤。MIME类型是一种标准,用来定义文件在网络上传输时的数据类型和格式。 2. **解析器架构**:Tika的解析...
Apache Tika是一个强大的内容检测和解析库,主要应用于提取各种文件格式中的元数据和文本内容。Tika 0.9 版本的源代码包含了该项目在该版本开发的所有源文件,这对于开发者而言是宝贵的资源,可以深入理解其内部工作...