Lucene实现各种常见文档的全文检索
来源:互联网 发布:oracle数据库去重 编辑:程序博客网 时间:2024/05/16 05:57
Lucene是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
作为一个开放源代码项目,Lucene从问世之后,引发了开放源代码社群的巨大反响,程序员们不仅使用它构建具体的全文检索应用,而且将之集成到各种系统软件中去,以及构建Web应用,甚至某些商业软件也采用了Lucene作为其内部全文检索子系统的核心。
Lucene提供了一个全文检索引擎得架构,而没有提供各种类型文档的全文检索功能,用户需要利用其它软件工具包来提取各种类型文档的内容,然后再利用Lucene的工具包来建立索引。
下面简单介绍一下能够配合Lucene使用的,比较著名的,能够提取各种常见类型文档的工具包。
Apache POI(支持word,excel,powerpoint,visio等格式)
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。它可以配合Lucene,建立包括doc,docx,xls,xlsx,ppt,pptx等格式的文件的索引。
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
网址:http://poi.apache.org/
PDFBox(支持pdf格式)
PDFBox是一个开源的可以操作PDF文档的Java PDF类库。它可以创建一个新PDF文档,操作现有PDF文档并提取文档中的内容。它可以配合Lucene来建立PDF文档的索引。
它具有以下特性:
将一个PDF文档转换输出为一个文本文件。
可以从文本文件创建一个PDF文档。
加密/解密PDF文档。
向已有PDF文档中追加内容。
可以从PDF文档生成一张图片。
可以与Jakarta Lucene搜索引擎的整合。
网址:http://sourceforge.net/projects/pdfbox/
JTidy(支持html格式)
JTidy 是 HTML Tidy 用Java语言实现的版本,提供了一个HTML的语法检查器和很好的打印功能。JTidy可以用来清除格式不好和不对的 HTML。此外,JTidy提供了对整个HTML的DOM分析器。程序员可以将JTidy当作一个处理HTML文件的DOM解析器来使用。它可以配合Lucene来建立HTML文档的索引。
网址:http://sourceforge.net/projects/jtidy/
- Lucene实现各种常见文档的全文检索
- Lucene实现在线全文检索的总结
- lucene实现全文检索的示例代码
- Lucene:实现数据库的全文检索
- 3、Lucene实现全文检索的流程
- Lucene实现简单的全文检索
- 使用lucene实现简单的全文检索
- 使用Lucene对doc、docx、pdf、txt文档进行全文检索功能的实现
- nutch Lucene 实现全文检索
- lucene全文检索实现流程
- 使用lucene实现全文检索
- 全文检索Lucene的使用
- Lucene:全文检索的基本原理
- Lucene全文检索的基本原理
- 基于lucene的全文检索
- Lucene全文检索的基本原理
- Lucene: 全文检索的基本原理
- Lucene:全文检索的基本原理
- js中innerHTML与innerText的用法与区别
- POJ 2891 扩展欧几里得
- WebKit页面和图片脚本的加载
- error LNK2001: unresolved external symbol _WinMain@16
- NOI 2006 - 神奇的口袋 Bag
- Lucene实现各种常见文档的全文检索
- 如何在Windows和虚拟机里的linux进行文件共享,详解
- 强烈推荐!! 给BlackBerry程序员:myKite - 开源SNS软件,是一代码宝库
- asp.net 与jQuery结合
- Android SDK Document 框架导读的翻译和注解[4]——Broadcast receiver
- 互动多媒体方案
- 项目生命周期与组织2
- 浅析Android线程模型一 --- 转
- 获取Div的属性