• Apache Tika


    Apache Tika是一个Java工具包用于利用现有的解析类库,从不同格式的文档中(例如HTML,PDF,Doc),检测和提取出元数据和结构化内容。 功能包括: 1.检测文档的类型,字符编码,语言,等其他现有文档的属性。2.提取结构化的文字内容。3.该项目的目标使用群体主要为搜索引擎以及其他内容索引和分析工具。目前支持的文档格式和对应的解析类库如下: 



    文档格式
    相应的解析类库

    HTML
    TagSoup

    XML
    自定义

    微软的Office文档
    Apache POI

    OpenDocument format (ODF)
    自定义

    PDF
    Apache PDFBox

    EPUB
    自定义

    Rich Text Format (RTF)
    自定义

    压缩文件格式(如 ar, cpio, tar, zip, gzip, bzip2等)
    Apache组织的Commons Compress

    Txt
    ICU

    音频格式
    主要采用Java的标准图像处理包javax.sound

    图像格式
    Java的标准图像处理包javax.imageio, 以及 metadata-extractor软件包。

    视频格式
    目前只支持Flash格式。

    Java类文件
    自定义

    邮件mbox文件格式
    自定义
    点击次数   官方主页【官方主页】   下载地址【下载地址】

    网友留言/评论

    我要留言/评论

    相关开源项目

    云计算客户端开发包:Libcloud: Apache 网站的顶级项目,Libcloud是一个通用的云计算客户端开发包,Libcloud是许多流行的云服务提供商的标准客户端库,有Python和Java两种版本。以下是当前Java版对各云服务提供商的情况:
    Java分布式系统 Apache River: Apache River是一个推动Jini技术发展和进步的开源项目。
    Jini 是以 Java 技术为核心的分布式系统,它通过使用一个简易的"即插即用"模型,能够随时改变硬件或者软件的配置,从而提供了一个支持快速配置的分布式计算环境。Jini 的迷人之处在于它能够使各种数字设备无需配置、安装或者人工干预,就能够在一个临时的称为服务联盟(federations of services)的设备集合中共同工作。联盟中的任何设备无论大小都可以自行管理,共同组成一个服务网络,联盟中的每一个成员都可以为其它成员提供资源或服务,同时又可以从其它成员那里获取自己所需的资源和服务,Jini 提供一套完善的机制使得硬件设备或者软件组件能够随时加入或者退出联盟。
    Jini 是一个主动的、响应式的分布式基础结构,它提供了在分布式环境中进行服务的建立、查找、通讯和调用的一整套机制。Jini 技术被设计成可以运用在任何有能力连入网络的器件上,而不论该器件运行什么软件或运行在哪种硬件设备之上。Jini 技术是以网络器件中的一个构件的面貌出现的,它为器件如何连入网络、共享信息和与网络进行互操作建立了一套规则,而同时又保持了对用户的完全透明。Jini 本身与平台无关,采用它的器件不再受到所用软件、处理器、设备驱动器,或传统网络协议的制约,其唯一要求只是一个能够运行 Java 字节码的虚拟机。
    可以这么理解:JINI是由Java技术构建的,在分布式环境中动态共享资源的一种编程模型。
    Apache Cassandra: Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。拥有:分布式;基于column的结构化;高伸展性等特点。它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存 储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库 的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。
    数据序列化框架Apache Avro: Avro是Hadoop中的一个子项目,也是Apache中一个独立的项目,Avro是一个基于二进制数据传输高性能的中间件。在Hadoop的其他项目中例如HBase和Hive的Client端与服务端的数据传输也采用了这个工具,Avro可以做到将数据进行序列化,适用于远程或本地大批量数据交互。在传输的过程中Avro对数据二进制序列化后 节约数据存储空间 和 网络传输带宽。Avro还可以做到在同一系统中支持多种不同语言,也有点类似Apache的另一个产品:Thrift,对于Thrift不同的是Avro更加具有灵活性,Avro可以支持对定义的数据结构(Schema)动态加载,利于系统扩展。摘自: Avro入门1–序列化与远程通信  
    Enhydra Kelp:Enhydra Java/XML应用服务器的IDE插件和开发工具。目前支持在Windows and Linux平台上的开发工具如:Eclipse, Netbeans, JBuilder 和JDeveloper
    Commons Compress: Commons Compress提供了一组API用于操作(解压/压缩)ar、cpio、tar、zip、gzip和bzip2等格式的文件。ZipArchiveEntry entry = new ZipArchiveEntry(name);entry.setSize(size);zipOutput.putArchiveEntry(entry);zipOutput.write(contentOfEntry);zipOutput.closeArchiveEntry();

    RUBiS:平台基准的在线拍卖应用模板。
    Apache UIMA: Apache UIMA 是UIMA定义的Apache开源实现。UIMA是一个用于分析非结构化内容(比如文本、视频和音频)的组件架构和软件框架实现。这个框架的目的是为非结构化分析提供一个通用的平台,从而提供能够减少重复开发的可重用分析组件。 UIMA 架构允许您轻松插入定制的分析组件,并将它们与其他组件合并。您的 UIMA 应用程序不需要知道分析组件共同合作生成结果的细节。集成和组织多个分析组件是 UIMA 框架的工作。 UIMA 应用程序可能分析纯文本并识别人员、位置和组织;它也可能识别关系,比如为谁工作或在什么地方工作。应用程序通常可以拆分成组件。例如 “语言识别” => “特定于语言的部分” => “句子范围检测” => “实体检测(人员/位置的名称等等)”。
    OpenCCM:OpenCCM是CCM (CORBA Component Model)的一个开源实现. OpenCCM允许你设计,实现,编译,打包,聚集,部署,安装,配置,执行和管理基于分布式CORBA组件的应用程序.
    JavaService:JavaService是一个WIN32可执行程序(EXE)利用它可以把任何Java Class制作成一个NT Service来运行。