`
yidongkaifa
  • 浏览: 4051696 次
文章分类
社区版块
存档分类
最新评论

Lucene实现各种常见文档的全文检索

 
阅读更多

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框架开发的全文搜索引擎,能实现txt、doc、pdf、excel、ppt等常见文档的全文检索,可以直接部署到tomcat下即可运行,需要研究lucene或实际应用lucene框架的朋友,欢迎下载。

    基于Lucene的教学资源垂直搜索引擎的研究与实现

    (2)支持网络上常见的各种文档的全文检索;(3)比较并分析当下流行 的中文分词工具包,并从中选择适合Lucene!分词准确率较高!系 统消耗比较合理的分词工具;(4)针对教育资源的特殊性,改进LuCene 的排序算法,增加了发布者!...

    Java-全文搜索引擎Elasticsearch-掌握所有操作的源代码(Java api和spring data两种方式)

    全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elasticsearch的底层是开源...

    海量数据引擎SF1R.zip

    类查询服务,因此,对于不常见的词(比如在少于128个文档里出现),原始设计进行了剪枝,既无法在 索引中搜索到。iZENECloud团队的改进去掉了这种限制;此外,iZENECloud团队还引入了一些最新的索引 压缩技术并且...

    JAVA上百实例源码以及开源项目

    百度云盘分享 ... Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。  部分源代码摘录:  ftpClient = new FtpClient(); //实例化FtpClient对象  String serverAddr=jtfServer.getText();...

    JAVA上百实例源码以及开源项目源代码

    Java实现的FTP连接与数据浏览程序 1个目标文件 摘要:Java源码,网络相关,FTP Java实现的FTP连接与数据浏览程序,实现实例化可操作的窗口。 部分源代码摘录: ftpClient = new FtpClient(); //实例化FtpClient对象 ...

    Delphi提取docx,doc,xls,xlsx,ppt,ppts,pdf,eml,html,等文件内容文本

    H: 开放文档格式 ".ofd", 注:常见于“电子发票版式文件” I: 富文本类型 ".rtf" J: HTML页面文件 ".html", ".htm", ".mht", ".mhtml" K: 邮件格式文件 ".eml", 注:默认提取前5个附件 L: 部分思维导图格式文件 "....

    ebsite for net4.0网站建设系统 v3.0 正式版.zip

    10.提供开方式数据搜索模式接入,网站的搜索可订制,官方提供了sql搜索,及一个功能强大的lucene搜索插件内带带分词,如果您在搜索方面要求亿级大数据分词高效搜索,可以选择启用lucent或自己开发自己的搜索插件(要...

    单点登录源码

    Solr & Elasticsearch | 分布式全文搜索引擎 | [http://lucene.apache.org/solr/](http://lucene.apache.org/solr/) [https://www.elastic.co/](https://www.elastic.co/) Quartz | 作业调度框架 | ...

Global site tag (gtag.js) - Google Analytics