`
edwin492
  • 浏览: 115544 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

lucene文档解析

阅读更多

 

    利用PDFBOX进行PDF转成文本,可以直接生成LUCENE所需的DOCUMENT。

    PDFBOX1.6中没有包含LucenePDFDocument类,需另下载pdfbox-lucene-1.6.0.jar

   下载http://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox-lucene/1.6.0

 

doc = LucenePDFDocument.getDocument(file);

    单独使用

 

	public void parsePdfToText(String file) {
		PDDocument doc = null;
		OutputStreamWriter osw = null;
		try {
			try {
				URL url = new URL(file);
				doc = PDDocument.load(url);
			} catch (Exception e) {
				try {
					doc = PDDocument.load(file);
				} catch (IOException e1) {
					e1.printStackTrace();
				}
			}
			osw = new OutputStreamWriter(
					new FileOutputStream("D:\\"+System.currentTimeMillis() + ".txt"),"UTF-8");
			PDFTextStripper pts = new PDFTextStripper();
			pts.setSortByPosition(true);
			pts.setStartPage(1);
			pts.setEndPage(Integer.MAX_VALUE);
			pts.setAddMoreFormatting(true);
			pts.writeText(doc, osw);
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(null != osw){
				try {
					osw.close();
				} catch (IOException e) {
					e.printStackTrace();   
				}
			}
			if(null != doc){
				try {
					doc.close();
				} catch (IOException e) {
					e.printStackTrace();   
				}
			}
		}
	}

    word,excel可用poi处理。

 

public static String parseWord(String path) {
		StringBuffer sb = new StringBuffer();
		try {
			HWPFDocument doc = new HWPFDocument(new FileInputStream(path));
			Range range = doc.getRange();
			int rangeNum = range.numParagraphs();
			for (int i = 0; i < rangeNum; i++) {
				Paragraph pg = range.getParagraph(i);
				sb.append(pg.text());
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return sb.toString().trim();
	}

   lius是一个基于lucene的框架,其中有着许多文档转换类。

 

/**
	 * 
	 * parseWordToText:word转为txt使用lius
	 * 引入tm-extractors-0.4.jar和Lius-1.0.jar
	 * 注意tm....jar包要放在lius前面,好像是两个包中有类的冲突问题
	 * (右击->BuildPath->Order and Export中进行调整),否则报java.lang.NoSuchMethodError: 
	 * org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()
	 * Lorg/apache/poi/poifs/filesystem/DirectoryEntry
	 * http://stardust1900.wordpress.com/2009/12/04/poi%E7%9A%84%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98/
	 * @param  @param name    设定文件   
	 * @return void    DOM对象   
	 * @throws    
	 * @since  search1.0
	 */
	public void parseWordToText(String name){
		WordIndexer wi = new WordIndexer(); 
		File file = new File(name);
		try {
			Writer writer = new OutputStreamWriter(new FileOutputStream("D:\\a.txt"));
			wi.setStreamToIndex(new FileInputStream(file));
			writer.write(wi.getContent());
		} catch (Exception e1) {
			e1.printStackTrace();   
		}
	}
	
分享到:
评论

相关推荐

    毕设 Lucene解析索引PDF文档的内容

    ----使用iText解析PDF 文档代码 PDFBoxHello.java ----------- --PDFBox测试代码 PDFBoxLuceneIndex.java ------ --PDFBox创建PDF文件的Lucene索引 PDFBoxPathIndex.java ------- --PDFBox创建指定目录PDF文档...

    非常详细的Lucene文档

    阅读“非常详细的Lucene文档.pdf”,您可以深入了解 Lucene 的工作原理、API 使用方法以及实际应用案例,这将帮助您成为 Lucene 方面的专家。同时,Apache 官方网站和社区论坛提供了丰富的教程和示例代码,对于深入...

    lucene文档,lucene相关文档

    《Lucene:中文全文检索库的核心技术解析》 Lucene,作为开源的全文检索库,是Java语言开发的,广泛应用于各种搜索引擎和信息检索系统中。这个强大的工具提供了高效的索引和搜索功能,使得开发者能够轻松地在大量...

    lucene文档笔记详解

    **Lucene文档笔记详解** Lucene,源自Apache软件基金会4 Jakarta项目组,是一个备受开发者青睐的开源全文检索引擎工具包。它提供了强大的文本分析、索引构建和搜索功能,但值得注意的是,Lucene本身并不包含完整的...

    lucene-4.6.0官方文档

    《Lucene 4.6.0官方文档》是针对开源全文搜索引擎库Lucene的一个详尽参考资料,适用于版本4.6.0。Lucene是Apache软件基金会的一个项目,它提供了一个高性能、可扩展的信息检索库,广泛应用于各种搜索应用和信息管理...

    lucene文档--

    《深入理解Lucene:搜索引擎核心技术解析》 Lucene是一个开源的全文检索库,由Apache软件基金会维护,它为Java开发者提供了强大的文本搜索功能。作为一款高效、可扩展的搜索引擎工具,Lucene在处理大量文本数据时能...

    利用lucene实现文档关键字检索

    在这个使用案例中,我们将深入探讨如何利用Lucene实现对Word文档中的关键字检索并高亮显示结果。 首先,我们需要理解Lucene的基本工作原理。Lucene通过建立倒排索引(Inverted Index)来加速查询。倒排索引是一种...

    lucene 搜索中文PDF文档

    **正文** ...总结,利用Lucene搜索中文PDF文档涉及多个技术层面,包括中文分词、PDF解析、索引构建、搜索执行和性能优化。通过理解这些关键技术,开发者可以构建出高效、准确的中文PDF文档检索系统。

    经典的lucene实例代码及详细解析以及lucene结构流程介绍

    经典的Lucene实例代码及详细解析以及Lucene结构流程介绍 Lucene是一个功能强大且灵活的开源搜索引擎库,它提供了一个简单易用的API,允许开发者快速构建搜索应用程序。下面将对Lucene的实例代码和结构流程进行详细...

    lucene整理文档,lucene详细描述,安装使用过程。

    Lucene 提供了索引和搜索文本的基本工具,包括分词、建立倒排索引、查询解析和评分机制等。 **安装与配置** 安装 Lucene 非常简单,只需要将对应的 JAR 包添加到项目依赖中。在 Maven 项目中,可以在 pom.xml 文件...

    lucene-4.7.0官方文档

    3. **查询解析**:用户输入的查询字符串会被转换为内部表示,Lucene支持多种查询语法,如布尔查询、短语查询、前缀查询、范围查询等。 4. **搜索执行**:查询执行涉及对索引的遍历,通过Scorer计算文档与查询的相关...

    lucene检索文档、检索大数据量数据

    在Lucene中,被检索的文档首先需要被解析和预处理。这个过程包括分词(Tokenization)、去除停用词(Stopword Removal)、词干提取(Stemming)等步骤,以减少噪音和提高查询效果。此外,每个文档会被赋予一个唯一的...

    lucene帮助文档.chm

    《Lucene帮助文档详解》 Lucene是一款强大的全文搜索引擎库,由Apache软件基金会开发并维护。这个名为“lucene帮助文档.chm”的压缩包文件,包含了一份详尽的Lucene使用指南,通常以CHM(Microsoft Compiled ...

    Java全文检索引擎Lucene的应用.pdf

    接下来,系统使用语言解析器对文档中的内容进行分词处理,生成一系列Token(最小的索引单元)。最后,这些Token经过索引器处理后加入到索引库中,由存储器负责管理和存储数据。 2. **检索索引库**:检索过程从输入...

    Lucene.net学习帮助文档

    **Lucene.net学习帮助文档** Lucene.net是一个开源全文搜索引擎库,它是Apache Lucene项目的一部分,专门针对.NET Framework进行了优化。这个压缩包包含了Lucene.net的源码和中文学习文档,旨在帮助开发者深入理解...

    Lucene.Net 2.0 源码+文档

    《深入理解Lucene.Net 2.0:源码与文档解析》 Lucene.Net是一个开源的全文搜索引擎库,它是Apache Lucene项目在.NET平台上的实现,由DotLucene发展而来,广泛应用于各种信息检索和文本挖掘场景。这个资料包包含了...

    lucene学习资料

    这是另一份全面的Lucene学习资料,可能涵盖了Lucene的主要特性和应用,包括分析器的使用、查询解析、索引优化等。 6. **新闻系统全文检索的思绪.txt** 这篇文章可能探讨了在新闻系统中集成全文检索的策略,包括...

    lucene2.3API中文文档、lucene-3.5.0JAR包

    首先,`lucene2.3API中文文档.chm`是针对Lucene 2.3版本的中文API文档,这为中文开发者提供了便利,帮助他们理解并使用这个版本的Lucene。在文档中,你可以找到关于Lucene核心组件的详细信息,如Analyzer(分析器)...

    lucene 5.4.1 官方文档离线版

    这个离线版的Lucene 5.4.1官方文档提供了关于该版本的详细信息,包括API参考、指南和示例,帮助开发者更好地理解和使用Lucene的功能。 在Lucene 5.4.1中,主要包含了以下核心知识点: 1. **索引构建**: - **...

    lucene帮助文档 (全文搜索)

    `lucene英文帮助文档.rar` 和 `lucene中文帮助文档.rar` 提供了详细的Lucene API指南和使用示例,涵盖了从基本概念到高级特性的全面介绍。通过阅读这些文档,你可以深入了解Lucene的工作原理,掌握如何创建、维护...

Global site tag (gtag.js) - Google Analytics