专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » lucene:什么是Lucene? »正文

lucene:什么是Lucene?

来源: 发布时间:星期四, 2009年1月15日 浏览:13次 评论:0
  介绍  

  Lucene是apache软件Software基金会[4] jakarta项目组个子项目个开放源代码[5]全文检索引擎工具包即它不是个完整全文检索引擎而是个全文检索引擎架构提供了完整查询引擎和索引引擎部分文本分析引擎(英文和德文两种西方语言)Lucene是为软件Software开发人员提供个简单易用工具包以方便在目标系统中实现全文检索功能或者是以此为基础建立起完整全文检索引擎

  Lucene原作者是Doug Cutting他是位资深全文索引/检索专家曾经是V-Twin搜索引擎[6]主要开发者后在Excite[7]担任高级系统架构设计师目前从事于些Internet底层架构研究早先发布在作者自己http://www.lucene.com/后来发布在SourceForge[8]2001年年底成为apache软件Software基金会jakarta个子项目:http://jakarta.apache.org/lucene/

  历史  

  Lucene最初是由Doug Cutting开发在SourceForge网站WebSite上提供下载在2001年9月做为高质量开源Java产品加入到Apache软件Software基金会 Jakarta家族中随着每个版本发布这个项目得到明显增强也吸引了更多用户和开发人员2004年7月Lucene1.4版正式发布10月1.4.2版本做了次bug修正表1.1显示了Lucene发布历史

  版本 发布日期 里程碑

  0.01 2000年3月 第个开源版本(SourceForge)

  1.0 2000年10月

  1.01b 2001年7月 最后SourceForge版本

  1.2 2002年6月 第个Apache Jakarta版本

  1.3 2003年12月 复合索引格式查询分析器增加远程搜索token定位可扩展API

  1.4 2004年7月 Sorting, span queries, term vectors

  1.4.1 2004年8月 排序性能bug修正

  1.4.2 2004年10月 IndexSearcher optimization and misc. fixes

  1.4.3 2004年冬 Misc. fixes

  特点及优势  

  作为个开放源代码项目Lucene从问世的后引发了开放源代码社群巨大反响员们不仅使用它构建具体全文检索应用而且将的集成到各种系统软件Software中去以及构建Web应用甚至某些商业软件Software也采用了Lucene作为其内部全文检索子系统核心apache软件Software基金会网站WebSite使用了Lucene作为全文检索引擎IBM开源软件Softwareeclipse[9]2.1版本中也采用了Lucene作为帮助子系统全文索引引擎相应IBM商业软件SoftwareWeb Sphere[10]中也采用了LuceneLucene以其开放源代码特性、优异索引结构、良好系统架构获得了越来越多应用

  Lucene是个高性能、可伸缩信息搜索(IR)库它使你可以为你应用添加索引和搜索能力Lucene是用java实现成熟、免费开源项目是著名Apache Jakarta大家庭并且基于在Apache软件Software许可 [ASF, License]同样Lucene是当前和近几年内非常流行免费Java信息搜索(IR)库

  Lucene作为个全文检索引擎其具有如下突出优点:

  (1)索引文件格式独立于应用平台Lucene定义了套以8位字节为基础索引文件格式使得兼容系统或者区别平台应用能够共享建立索引文件

  (2)在传统全文检索引擎倒排索引基础上实现了分块索引能够针对新文件建立小文件索引提升索引速度然后通过和原有索引合并达到优化

  (3)优秀面向对象系统架构使得对于Lucene扩展学习难度降低方便扩充新功能

  (4)设计了独立于语言和文件格式文本分析接口索引器通过接受Token流完成索引文件创立用户扩展新语言和文件格式只需要实现文本分析接口



  (5)已经默认实现了套强大查询引擎用户无需自己编写代码即使系统可获得强大查询能力Lucene查询实现中默认实现了布尔操作、模糊查询(Fuzzy Search[11])、分组查询等等

  面对已经存在商业全文检索引擎Lucene也具有相当优势

  首先开发源代码发行方式(遵守Apache Software License[12])在此基础上员不仅仅可以充分利用Lucene所提供强大功能而且可以深入细致学习到全文检索引擎制作技术和面相对象编程实战进而在此基础上根据应用实际情况编写出更好更适合当前应用全文检索引擎在这点上商业软件Software灵活性远远不及Lucene

  其次Lucene秉承了开放源代码架构优良优势设计了个合理而极具扩充能力面向对象架构员可以在Lucene基础上扩充各种功能比如扩充中文处理能力从文本扩充到HTML、PDF[13]等等文本格式处理编写这些扩展功能不仅仅不复杂而且由于Lucene恰当合理对系统设备做了抽象扩展功能也能轻易达到跨平台能力

  最后转移到apache软件Software基金会后借助于apache软件Software基金会网络平台员可以方便和开发者、其它员交流促成资源共享甚至直接获得已经编写完备扩充功能最后虽然Lucene使用Java语言写成但是开放源代码社区员正在不懈将的使用各种传统语言实现(例如.net framework[14])在遵守Lucene索引文件格式基础上使得Lucene能够运行在各种各样平台上系统管理员可以根据当前平台适合语言来合理选择



0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: