`
twtbgn
  • 浏览: 44069 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apache tika 简介

    博客分类:
  • tika
 
阅读更多

本文转载自: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》

分享到:
评论

相关推荐

    tika-python绑定到 Apache Tika REST 服务

    tika-python 绑定到 Apache Tika REST 服务 Python binding to the Apache Tika REST services Apache Tika 库的 Python 端口,可使用 Tika REST 服务器使 Tika 可用。这使得 Apache Tika 可作为 Python 库使用,可...

    apache tika jar包

    Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。  功能包括:  侦测文档的类型,字符编码,语言,等其他现有文档的属性。  提取结构化的文字内容。...

    Apache Tika 1.1 所需jar包

    Apache Tika 1.1 所需要的jar包,方便不想用maven的同学. 此压缩包内是核心jar包,依据http://tika.apache.org/1.1/gettingstarted.html 中Using Tika in an Ant project章节列出的 classpath 找齐 部分版本比文章中...

    apache tika检测文件是否损坏的方法

    Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。 将上传文件至服务器,进行解析文件时,经常需要判断文件是否损坏。我们可以使用tika来检测文件是否损坏 maven引入如下: <groupId>org.apache.tika...

    TikaExamples:Apache Tika 解析、检测和翻译的示例用法

    Apache Tika 示例 该项目包含如何使用 Tika 主要界面的示例。

    tika:Apache Tika的镜像

    欢迎使用Apache Tika Apache Tika TM是使用现有解析器库从各种文档中检测和提取元数据和结构化文本内容的工具包。 Tika是的项目。 Apache Tika,Tika,Apache,Apache Feather徽标和Apache Tika项目徽标是The Apache...

    apache tika 1.13 源码及构建好的库(part 1 )

    Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该...

    tika-example:使用Apache Tika进行文件类型检测

    提卡示例 使用Apache Tika进行文件类型检测 使用检测项目中文件的类型(csv,xml等)。 一个有关我的即将发布的博客文章的项目。

    apache中的tika包

    lucene's tika可以直接去网站下载噢。

    apache-tika-0.8-src.jar

    apache-tika-0.8-src.jar 源码

    PhpTikaWrapper, 用于 Apache Tika的简单PHP包装器.zip

    PhpTikaWrapper, 用于 Apache Tika的简单PHP包装器 这是一个用于 Apache Tika的简单。它允许开发人员从复杂文档中检索文本。元数据和语言。支持格式它支持开放性,Office. doc 和. docx, pdf,图像,视频和更多 !...

    apache-tika-0.1-incubating-src.tar.gz_垂直搜索引擎

    apache基金项目tika,是一个可以对内容进行分析、提取的开发包,结合正则开发包,可以开发基于垂直搜索引擎,目前正处于孵化阶段,这里是目前的最新版本

    apache tika 1.13 源码及构建好的库(part 2 )

    Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该...

    ForeIndex:使用Apache Hadoop,Apache Lucene和Apache Tika的分布式索引-开源

    这是一个分布式索引框架,使用Apache Hadoop,Apache Lucene和Apache Tika对大量数据进行索引。

    apache tika 源文件

    Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。  功能包括:  侦测文档的类型,字符编码,语言,等其他现有文档的属性。  提取结构化的文字内容。...

    tika_1.10_API (CHM格式)

    Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该...

    Tika-Python是与Apache Tika:trade_mark:REST服务绑定的Python,允许在Python社区中本地调用Tika。-Python开发

    Tika-Python是与Apache Tika:trade_mark:REST服务绑定的Python,允许在Python社区中本地调用Tika。 tika-python Apache Tika库的Python端口,可通过Tika REST Server使Tika可用。 这使得Apache Tika可以作为Python库...

    tika提取文本内容

    tika 工程 简便获取文本的java工具

    apache-tika-1.2-src.zip

    apache-tika-1.2-src.zip

Global site tag (gtag.js) - Google Analytics