




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于lucene的AutoMatching公共控件的设计与实现摘要:随着客户对系统检索性能要求的越来越高,lucene已越来越多的被运用到开发项目中。本文在lucene的基础上,构建了一个与架构无关的公共控件automatching,可以通过快速配置来解决各系统对于自动提示的需求,大大节省了开发人员的时间和精力。关键词:lucene;automatching;公共控件;检索design and implementation based on lucene automatching public controlwang liyuan(shanghai university of communication&information engineering,shanghai200072,china)abstract:as clients increasingly high requirements of the system retrieval performance,lucene has been more and more being applied to development projects.on the basis of the lucene,build an architecture-independent public control automatching can quickly configure the system automatically prompts the demand,and saves developers time and effort.keywords:lucene;automatching;public control;retrieval一、引言随着it产业的迅猛发展,信息检索技术已越来越多的应用于各类开发项目。lucene信息检索库项目凭借其优越的高效性、灵活性、可扩展性以及开放性成为其中的翘楚。但在一个又一个项目使用了lucene信息检索技术后,我们发现开发人员需要了解lucene的原理及使用方法,才能正确运用到项目中,这需要一个比较长的周期,导致工作效率低下。因此,如何方便的把lucene信息检索工具包运用到项目中去已成为当务之急,这也是提升资源利用水平的关键手段。本文基于lucene信息检索工具包,研究并实现了一个能解决各项目系统对于信息检索技术的需求, 而与开发的架构无关的公共控件,以满足该类项目可以通过快速配置来进行开发。二、lucene简介lucene是用java写的全文检索引擎工具包,它并不是一个完整的全文检索引擎,而是一个高性能、可扩展的信息检索工具集,可以提供多个应用程序编程接口函数和数据存储结构,并能方便地嵌入到各种应用中,以增加索引和搜索功能。lucene系统主要由基础结构封装、索引核心和对外接口三大部分组成,主要包括2个主要功能:1.建立索引库,也就是将待索引的纯文本内容,经切分词后索引入库;2.检索索引库,即根据查询条件从索引库中找出符合条件的文档。三、automatching的设计与实现从开发者的角度来看,lucene所具备的主要功能是为文本创建索引,并存储索引到指定位置;根据用户查询条件,搜索索引,并返回查询结果,每一个步骤都需要用户编写程序来完成。本文所探讨的控件,其目的是可以通过配置直接对各种文件和数据库进行索引。用户使用该控件可以不写代码或少写代码,快速为自己的系统添加全文检索功能。根据上述需求,本文提出了如图1的总体结构图:automatching客户端使用了jquery框架,方便与ajax交互,使html页保持代码和内容分离,只需定义id即可。主要用来发送用户请求,并得到服务端的响应。automatching服务端主要提供了以下的几个主要组件:(1)automatchingservlet主要作用是与客户端控件整合,接收用户输入的参数,进行查询后返回查询结果。(2)automatchingstartlistener用于在web项目启动时加载默认配置文件,进行初始化操作。(3)/automatching/refreshindex.jsp用于手工执行刷新索引的页面。调用该页面自动刷新所有搜索引擎索引文件。可使用批处理定时访问该页面实现定时更新。(4)/automatching/switchconfig.jsp用于更换配置文件的jsp,需提供参数name,表示配置文件名,因搜索引擎可能不稳定,因此业务系统可提供两套配置,默认用搜索引擎,但可使用该jsp切换回直接数据库模式。图1 automatching总体结构图四、automatching的配置与分析(一)automatching服务端配置automatching服务端提供了以下几个公共配置(1)子节点id:唯一标识此automatching,标签通过id来引用。(2)子节点type:目前支持se-搜索引擎, 和db-数据库两种类型。(3)子节点defaultfieldname:默认field名称(引用自fields子节点)。(4)子节点defaulthitsper:默认下拉列表最多条数。(5)子节点indexpath:当type=se时, 需指定indexpath,此路径为索引路径。索引路径分为两种,使用file:前缀表示绝对路径,使用context:前缀表示和webapp根目录相对的路径。(二)automatching客户端配置step1.页面上增加taglibstep2.head中增加依赖css和javascriptstep3.使用标签searchparamname=“name”resultfieldname=“name”url=“$pagecontext.request.contextpath/autotipsservlet”forceselect=“true”id=“bankname”value=“$param.bankname”name=“bankname”onselect=“$(#bankcode).val(result.code)”param_sample=“sample”parameval_sampleeval=“$(#bankcode).val()”style=“width:400px;background-color:#ffd” /该标签会生成一个的输入框,在其中输入适当内容有自动完成功能。配置完成,即可在开发项目中直接使用插件。(三)automatching的优缺点比较表1 automatching的优缺点比较五、结论本文介绍了lucene的基本功能及体系架构,并在此基础上对lucene进行了再次封装,设计并实现了automatching公共控件。该控件是一个直接应用于项目开发的搜索引擎,它能够直接处理多种指定文件和数据库,使开发人员能够在不编写代码的情况下,快速为自己的系统添加全文检索功能,从而大幅提高了开发人员的开发效率。参考文献:1唐铁兵,陈林,祝伟华.基于lucene的全文检索构件的研究与实现j.计算机应用与软件,2010,2(27):197-2002朱雪莲.基于lucene全文检索引擎的应用研究j.微型机与应用,2010,29(22):3-53吴
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流服务合作协议书
- 2025年北京市智能手机买卖合同
- 2025年标准个人房屋买卖合同正式版
- 公司财税知识培训方案课件
- 公司组织财务知识培训课件
- 2025授权招生代理合同模板
- 提高科室间转介PDCA课件
- 2025年进出口代理合同范本
- MyBatis面试实战题库:金融、IT、销售等职业面试题
- 求职路上康平社区面试题全攻略
- GB/T 33365-2016钢筋混凝土用钢筋焊接网试验方法
- GB/T 32288-2015电力变压器用电工钢铁心
- FZ/T 01008-2008涂层织物耐热空气老化性的测定
- 精神科病历书写精神科病历书写及范例
- 《乒乓裁判规则规程》考试题库(附答案)
- 依托自主化装备建设分布式能源三联供项目
- 老年肌肉衰减综合征(肌少症)课件
- PCB全制程培训教材
- 应急保障措施及处置方案
- 烟草配送车辆GPS管理方案
- 电力设备预防性试验及维护保养方案
评论
0/150
提交评论