F串和蠢峨若F羹蒜旦诱蕃鬻飞謦醛;一蟹爵墓“川≤Ⅳ:皋=础j鬻8磊孺砭§孽ir掸肖 ②在传统全文检索引擎的倒 排索引的基础上,实现了分块索引,能够针对新的文件建立小文薹影星囊疆铋膳赔疆=翼蕈主磊篙错坦嚣翌苍季眭些鏊零眷醣静,甜睇8位字节为基础的索引文件索引,提升索引速度。
然 后通过与原有索引的合并,达到优化的目的。
③优秀的面向对象的系统架 构,使得对于Lucene扩展的学习难度降低,方便扩充新功能。
④设计了独立于语言和文件 格式的文本分析接口,索引器通过接受Token流完成索引文件的创立,用户扩展新的语言和 文件格式,只需要实现文本分析的接口。
⑤已经默认实现了一套强大 的查询引擎,用户无需自己编写代码即使系统可获得强大的查询能力,Lucene的查询 实现中默认实现了布尔操作、模糊查询(Fuzzy Search)、分组查询等等。
面对已经存在的商业全文检 索引擎,Lucene也具有相当的优势。
首先,它的开发源代码发行方式(遵守Apache so ftware License),在此基础上程序员不仅仅可以充分的利用Lucene所提供的强大功能,而且可以深 入细致的学习到全文检索引擎制作技术和面相对象编程的实践,进而在此基础上根据应用的实际 情况编写出更好的更适合当前应用的全文检索引擎。
在这一点上,商业软件的灵活性远远不及L ucene。
其次,Lucene秉承了开放源代码一贯的架构优良的优势,设计了一个合理而极具扩充能 力的面向对象架构,程序员可以在Lucene的基础上扩充各种功能,比如扩充中文处理能力,从 文本扩充到H1札、PDF等等文本格式的处理,编写这些扩展的功能不仅仅不复杂,而且由于Lu cene恰当合理的对系统设备做了程序上的抽象,扩展的功能也能轻易的达到跨平台的能力。
最后 ,转移到apache软件基金会后,借助于apache软件基金会的网络平台,程序员可以方便的和开 发者、其它程序员交流,促成资源的共享,甚至直接获得已经编写完备的扩充功能。
最后,虽然 Lucene使用Java语言写成,但是开放源代码社区的程序员正在不懈的将之使用各种传统语言实 现(例如.net fra口le∞rk),在遵守Lucene索引文件格式的基础上,使得Lucene能够运行 在各种各样的平台上,系统管理员可以根据当前的平台适合的语言来合理的选择(李宇,2003)。
2.1.2 Lucene系统结构分析 Lucene作为一个优秀的全文检索引擎,其系统结构具有强烈的面向对象特征。
首先是定义了一个与平台无关的索引文件格式,其次通过抽象将系统的核心组成部分设计为抽象类,具体的平 2、检索需求转换 为查询关键词 4、返回数据 匹配的结果 圈1-1传统m系统模壅 Rg.1-1 The Thm60Ⅱ且I m Sys蛔m M0del 问题的症结在于传统的检索模型性中(如图l—l所示)的三个基本假设中的两个环节出现了问题: ①用户以关键词提交查询请求。
②采用关键词匹配技术来生成结果文档集。
这两个部分方法虽然简单,但是可能会导致信息检索工作出现问题。
以关键词作为用户的查询请求,排除了用户个体的差异性。
即只要用户使用了相同的关键词作为查询请求,便可认为用户具有相同的检索意图,把用户认为是静态的,而根据用户相关性的观点,用户的需求情境是一个典型的动态变化过程,用户的检索需求是跟用户内在的知识储备、经验、认知状态以及情绪等紧密相连的。
以标引词为基础的检索通常会形成这样一种观念:文献的语义和用户信息需求的语义可以用标引词集合来表示。
这就把问题过于简单化了,因为用标引词集合来代替文档的时候会丢失很多原来的语义。
如何解决这个问题呢?本文提出要围绕用户信息需求,以用户为中心,通过“二次主题漂移”技术来逼近用户检索需求。
当然。
要完全满足用户的信息需求,建立一个大而全、精而准的检索系统是一个非常难的过程,本文仅选取中文农业网页检索作为研究的对象,并把“二次主题漂移”技术贯穿在系统中,企望研究结果能够对中文信息检索研