Tika是一个内容抽取的工具集合(a toolkit for text extracting)。它集成了POI, Pdfbox 并且为文本抽取工作提供了一个统一的界面。其次,Tika也提供了便利的扩展API,用来丰富其对第三方文件格式的支持。
在当前的0.2-SNAPSHOT版本中, Tika提供了对如下文件格式的支持:
* HyperText Markup Language
* XML and derived formats
* Microsoft Office document formats
* OpenDocument Format
* Portable Document Format
* Electronic Publication Format
* Rich Text Format
* Compression and packaging formats
* Text formats
* Audio formats
* Image formats
* Video formats
* Java class files and archives
* The mbox format
Tika整体代码设计非常优雅,通过Tika类目发布给用户,并将相关接口包装成简单的方法供大家调用。
//优雅的Facade类包装了底层功能
Tika tika = new Tika();//自动根据文件类型选择Parse类
System.out.println(tika.parseToString(new URL("http://www.taobao.com")));
System.out.println(tika.parseToString(new File("TikaSample.class")));
基于Tika,我们可以快速提取各种类型的文件内容,整体设计模式可以快速加入新的Parse来扩展新的文件类型,同Lucene之类的结合以来可以快速 搭建多类型的文件搜索引擎。