Apache Tika内容抽取工具集合
Tika 是一个内容抽取的工具集合(a toolkit for text extracting)。它集成了 POI, Pdfbox 并且为文本抽取工作提供了一个统一的界面。其次,Tika 也提供了便利的扩展 API,用来丰富其对第三方文件格式的支持。
在当前的0.2-SNAPSHOT 版本中, Tika 提供了对如下文件格式的支持:
-
PDF - 通过 Pdfbox
-
MS-* - 通过 POI
-
HTML - 使用 nekohtml 将不规范的 html 整理成为 xhtml
-
OpenOffice 格式 - Tika 提供
-
Archive - zip, tar, gzip, bzip 等
-
RTF - Tika 提供
-
Java class - Class 解析由 ASM 完成
-
Image - 只支持图像的元数据抽取
-
XML
Tika 的 API 十分便捷,核心是 Parser interface,其中定义了一个 parse 方法:
public void parse(InputStream stream, ContentHandler handler, Metadata metadata)
用 stream 参数传递需要解析的文件流, 文本内容会被传入 handler,而元数据会更新至 metadata。
可以使用 Tika 的 ParserUtils 工具来根据文件的mime-type
来得到一个适当的 Parser 来进行解析工作。或者 Tika 还提供了一个AutoDetectParser 根据不同的二进制文件的特殊格式 (比如说 Magic Code),来寻找适合的 Parser。
评论