`
yangwei0915
  • 浏览: 465207 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Lucene学习之使用Apache Tika进行文档内容抽取

 
阅读更多

在上一篇关于Lucene的博客中,介绍了Lucene的入门以及中文文件的搜索问题解决,其中使用的例子是以文本文件作为搜索的文档,在创建索引时使用了Reader读取文件。但是在实际的应用过程中,经常需要对各种各样的非文本文件的内容进行全文搜索。我们常用的除了txt、html、xml等文本格式的文档外,还有大量的例如pdf、word、ppt等非文本格式的文档,在对这些文档中的内容进行搜索时,就需要先抽取其内容,然后再跟进其内容创建索引,才能被正确搜索。Apache Tika 就是一款强大的文档内容抽取框架,它集成了各种文档解析器,能够识别大多数的文档,并且能够扩展其他的解析器,而且对中文的识别也较好。经过不完全测试,能够识别的文档格式如下:

  1. pdf文档
  2. doc、docx、ppt、excel
  3. txt、html、xml
  4. zip、tar

以上4类文档基本上包含了我们在创建一个资料库时所使用的文档格式。

这个框架的使用也非常简单,代码如下(使用tika-app-1.4.jar):

import org.apache.tika.Tika;

public class SimpleTextExtractor {
	public static void main(String[] args) throws Exception {
		// 创建 Tika实例
		Tika tika = new Tika();
		// 使用tika对文件内容进行抽取,对常用的文档格式进行测试
//		String filePath="D:/tikatest/test.pdf";
//		String filePath="D:/tikatest/test.doc";
//		String filePath="D:/tikatest/test.docx";
//		String filePath="D:/tikatest/test.txt";
//		String filePath="D:/tikatest/test.ppt";
//		String filePath="D:/tikatest/test.wps";
		String filePath="D:/tikatest/test.zip";
		String text = tika.parseToString(new File(filePath));
		System.out.println(text);
	}
}

  

需要下载Apacke tika的jar文件,下载链接:

http://mirrors.hust.edu.cn/apache/tika/tika-app-1.4.jar

 

分享到:
评论
1 楼 baiyingtao 2016-06-24  
这些信息不太够,我们希望得到相关Keyword的段落,页码,区域等信息。Tika可以拿到吗?

相关推荐

    tika+lucene完整jar包

    例如,在一个文档管理系统中,Tika可以用来解析上传的文档,提取出文本内容,然后这些内容由Lucene进行索引,使得用户可以通过关键词快速查找相关的文档。 在实际开发中,引入这两个jar包后,开发者可以编写代码来...

    跟益达学Solr5之使用Tika从PDF中提取数据导入索引

    在本篇博文中,“跟益达学Solr5之使用Tika从PDF中提取数据导入索引”,我们将探讨如何利用Apache Solr 5和Tika这两个强大的开源工具,从PDF文档中抽取数据并将其有效地导入到Solr索引库中。Apache Solr是一款功能...

    lucene对doc.xlsx操作包

    总结,利用Apache Lucene、POI和Tika,我们可以有效地处理doc.xlsx文档,将其内容纳入Lucene索引,从而实现高效的全文搜索。在实际开发中,根据项目需求,可能还需要考虑性能优化、错误处理以及与其他系统的集成等...

    tika0.5基本jar包

    Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件格式中抽取文本内容和元数据。在Java环境中,Tika提供了丰富的API,使得开发者能够轻松地处理各种类型的文件,包括但不限于文档、图片、音频和...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-26.Lucene项目实战4 共6页.pptx

    Tika能抽取文档中的文本,使其可以被Lucene进行索引。这样,即使原始文件是PDF或Word文档,Lucene也能处理其中的文本信息。 在实现全文检索时,Lucene的Analyzer扮演了关键角色。Analyzer负责将输入文本分割成可...

    lucene in action 2nd src part1

    在Lucene的上下文中,Tika常常被用来抽取非结构化数据中的文本,以便进行索引和搜索。这个0.4版本的Tika应用jar文件,意味着它是早期版本,可能不包含后来的一些功能增强和性能优化。 在深入探讨Lucene之前,我们先...

    Tika.in.Action D.Chris.A.Mattmann

    Apache Tika是一个开源的Java开发包,它能够从各种各样的文档中抽取元数据和内容。Tika的出现,对于需要处理大量非文本数据的开发者而言,有着非常重要的意义。《Tika in Action》这本书是关于Tika的权威指南,由...

    Lucene项目(华电内部文档搜索系统)

    - **多格式支持**: 系统能够处理PDF和Word文档,这表明它可能集成了解析这两种文件格式的工具,如Apache Tika,以抽取文本内容进行索引。 - **关键字搜索**: 用户可以输入一个或多个关键字来查找相关文档,系统会...

    Lucene入门指南

    - **Tika**:Tika 是一个用于内容抽取的工具集合,它可以集成 POI 和 PdfBox 等工具,并为文本抽取提供统一的接口。此外,Tika 还提供了一套易于使用的 API 来支持对第三方文件格式的扩展。 - **Solr**:Solr 是一个...

    论文研究-基于Solr的股票公告语料库系统实现 .pdf

    在本研究中,Apache Tika扮演了文本抽取工具的角色,它能够识别和提取多种文档格式中的纯文本内容。这样,无论公告文件是以PDF、Word或其它格式存在,都能够被提取出来,并进一步存入索引系统。 接下来,索引系统在...

    45个小众而实用的NLP开源工具.rar

    34. **Apache Tika**:用于内容检测和元数据提取的库,可用于NLP的预处理。 35. **Coreferee**:基于神经网络的共指消解工具,提高实体提及识别准确性。 36. **NeuroNLP2**:基于深度学习的NLP工具包,用于句法...

    NLPToolbox:NLP 相关使用的工具箱

    `Apache Tika`和`GATE`(General Architecture for Text Engineering)是用于信息抽取的常见工具。 9. **主题建模**:通过分析文本找出隐藏的主题。`LDA (Latent Dirichlet Allocation)`是一种常用的主题模型算法,...

Global site tag (gtag.js) - Google Analytics