生辉-基于lucene的web站点全文检索和排序设计与实现_第1页
生辉-基于lucene的web站点全文检索和排序设计与实现_第2页
生辉-基于lucene的web站点全文检索和排序设计与实现_第3页
生辉-基于lucene的web站点全文检索和排序设计与实现_第4页
生辉-基于lucene的web站点全文检索和排序设计与实现_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

TheDesignandImplementationofaFull-textSearchandSortingWebSiteBasedonLuceneTutor:ZhangWhentherelevantdepartmentsofthenationalscienceandtechnologyprojectsprojectdecisions,youneedtounderstandthebackgroundinformationontheproject,includingtheproject'sexperts,researchcenters,andresearchprojectsassociatedwiththestatusquo,suchasrelatedtopics,theresultsofthetypeandty,experts,researchinstitutes,etc.statistics.Currently,andsinceeachunitonlymasterdatabaseoftheunit,andeachunitdifferentdatabasetypes,therearedifferencesinthedatatablestructure,formingadistributeddataresources,heterogeneousandautonomouscharacteristics.Thisresultedinthedecision-makingduringtheproject,notgoodtogetalltheinformationrelatedtotheproject,makingitimpossibletomakegooddecisions.Forthecurrentstatusandneeds,throughtheintegrationofexistingdatabases,suchastheuseofpowerfulsearchtoolLucene,weproposeandimplementanationalscienceandtechnologyprojectdecisionsupportsystem.Thegeneralideaofthissystemistounifythevariousunitsofinformationinthedatabase,createaunifiedindex,theuseofthistool,userssimplyenterakeyword,clickthemouse,youcaneasilyunderstandthecontentofinterestrelatedtopics,experts,researchcentersTherefore,thelevelofthevariousregionsandresearch,andtoobtaintherelevantysisreportfortheprojectindecisionsupporttechnologyandservices.ITprojectdecisionsupportsystembasedmainlyonthesearchfunction,thesearchresultstotopicscoveredtopicsrelatedtothemainlineofresearchinstitutes,themain inchargeofthesubject,andtechnologicalresourcestoproduceresults,andotherinformationcontent,andcanbesortedaccordingtouserneeds,Finally,ondisythroughmultiple: 绪 课题来 研究背 国内外研究现 倒排索引技 研究目 建立索 检 排 前台展 的组织结 相关技术介 全文索引概 倒排索引的概 Lucene介 MVC框架设 MVC框 JSP技 JSP的功 JSP的优 小 科技立项辅助决策系统的分析与设 系统需求分 系统体系结 建立索 控 前台展 小 利用LUCENE建立索 索引基本概念的介 利用ANSJ中文分词器进行分词 建立indexWriter配置并创建 连接数据库并建立索引 完成索引的建立 小 5控制模 控制模块组成部分 控制模块从前台获取参 设置检索参数 根据用户要求对得到的结果进行排序 检索结果统计 加入缓存优化系统性能 将检索结果传递到前台 小 前台页面展 检索结果页面 详细结果页面 专家列表 分类结果统 全局结果统计 小 系统测试及运行结 测试环 测试与运行结果分 总结与展 总 进一步的工作研 致 绪开展立项的部门之间缺乏统一的信息整合平台,导致信息无法在之间达到Web海量数据:当面对的是海量数据时,使得数据库系统很难有效的管理。如果直接连数据,当数据较大,的响应间会快速长,导致索数据操作简单:如果使用的数据操作简单,一般而言,只需要增、删、,,可以针对这些应用设计出简单高效的应用程序。而一般的数据库系统则支持大而全的功能,同时损失了速度和空间。3)如果大量的用户检索需求,这要求在检索程序的设计上要分秒必争,尽可能的将大运算量的工作在索引建立时完成,使检索运算尽量的少。一般的数据库系统很难承受如此大量的用户请求,而且在检索响应时间和检索并发度上都达不到要求。来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地引(invrdindex)(invtdfil)。(DocID)(PostingLuceneJava写的全文索引引擎工具LuceneAPI接口设计的比较通用,输入输出结构都很像数据库的表==>记录==>Lucene的结构/接口中。总体上看:可以先把Lucene当成一个支持全文索引的数据库系统。比较一下Lucene0-从表格中可以看出,Lucene和数据库的在结构上是很类似的。但是,全文检索≠like"%keyword%"通常比较厚的书籍后面常常附索引表(比如::12,34页,:3,77页……了,所以对于含有模糊查询的数据库服务来说,LIKE对性能的危害是极大的。如果是所以建立一个高效检索系统的关键是建立一个类似于科技索引一样的反向索引机(比如多篇文章用于文章映射关系,利用这样的映射关系索引:[出现图全文检索和数据库应用最大的不同在关的头100条结果满98%以上用户的需求。根据相关统计,在使用进行检索时,只有2%的用户会关注排在检索结果Lucene的IO操作,Lucene在实现中,对此稍微有所改进:不是一个索引文件,而是在扩将业务逻辑到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在Spring实际上是ExpertOne-on-OneJ2EEDesignandDevelopment一书中所阐述的One-on-One一书中,RodJohnson倡导J2EE实用主义的设计思想,并随书提供了一个初步的开发框架实现(interface21开发包Spring正是这一思想的更全面和具体的体现。RodJohnsoninterface21开发包的基础之上,进行了SpringRodJohnson创建并且在他的著作《J2EE设计开发编程可以从Spring中受益。简单来说,Spring是一个轻量的控制反转和面向切面的框Javascript是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端语言,主要目的是为了解决服务器端语言,比如Perl,于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器NavigatorJavascript,提供了数据验证的基本功能。JavaScript是一种基于对象和驱动并具有相对安全性的客户端语言。同时也是一种广泛用于客户端Web开发的语言,常用来给HTML(标准通用标记语言是Sun公司(已被oracle收购)的商标。Ecma国际以JavaScript为基础制定了Netscape公司在最初将其语言命名为LiveScript。Netscape在与Sun合作之后主要设计原则源自Self和Scheme。JavaScript与Java名称上的近似,是当时网景为了Ecma(前身为欧洲计算机制造商创建了ECMA-262(ECMAScript现两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。Lucene的整合多个数据库的提供快速检索和排序功能的Web站点。通过本文系统可以在立项时获得多个数据库中的信息来针对科技立项辅助决策系统的特点和应用需求,用户提供全文检索功能的Web站点。首先,本文分析了现阶段科技立项决策的现状和需求,结合国内外全文检索Web第一章绪论介绍本文工作涉及到的主要相关理论及技术,重点分析倒排索引、Lucene相关技术介本系统主要用到了全文索引技术,MVCJSPLucene前台的页面展示采用了JSP技术。倒排索引(Invertedindex,也常被称为反向索引、置入或反向,是一种索引方法,被用来在全文搜索下某个单词在一个文档或者一组文档中的位置的

后者的形式提供 的兼容性(比如短语搜索,但是需 Lucene是apache软件4jakarta项目组的一个子项目,是一个开放源代码在Java开发环境里Lucene是一个成免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java资讯检索程式库。人们经常提到资讯检索程式库,虽然与搜索引擎有关,但不应Lucene作为一个优秀的全文检索引擎,其系统结构运用了大量的面向对象的设计思想。首先是定义了一个与平台无关的索引文件格式,其次通过抽象将系统的组成易二次开发等的检索引擎系统。Lucene系统及其结构如下图所示。MVC框架设MVCJSP+servlet+javabean的模式。视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTMLWeb应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括AdobeFlash和像XHTML,XML/XSL,WML等一些标识语言和Webservices.MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理输出数据并允许用户的方式。Web页面中的超和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还可以是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不知JSP技术。SpringMVC分离了控制器、模型对JspjavaSunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)JSP开发的Web应用是跨平台的Linux下运行,JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生页Web的应JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSPHTMLJava代码所组成。服务器在页面被客户端请JavaHTML页面返回给客户端的浏览器。JavaServlet是JSPWeb应用程序的开发需要JavaServlet和JSPJSPJSPIBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。JarServlet/JSP,到由多台服数台服务器,Java非常优秀的开发工具,而且许多可以到,并且其中许多已经可以顺利的运行于多成JAVABEANS组件来实现复杂商务功能。绍了本系统采用的JSP页面技术。MVC框架建立,提供检索和排序功能。本章将对本系统的整体框架的设计进行介绍。在以后的章节中,还将围绕系统各主要组成部分的设计展开详细的介绍。针对以上设计了一个基于Lucene的利用SpringMVC框架的Web站点检返回Web端,展示给用户。本系统中,分别对课题、资源、专家和大型仪器建立Controller检索结束之后,从前台获取用户要求的排序方式,Controller根据用户的要求对检索结果进行排序,然后将得到的结果以ModelAndView的形式返回给Servlet。ServletControllerView将结果返Lucene对不同部门的数据库建立索引。对每个部门的每个数据库中的 PDF,html,XML等不同格式的文件都可以称之为文档。再比如一封邮件,一条, 部编号即称之为“文档编号后文有时会用DocID来便捷地代表文档编号。倒排文件(InvertedFile):所有单词的倒排列表往往顺序地在磁盘的某个文件 Field.Store.YESField.Store.NO来设 field=newField("AgencyTraceNo","deprofessor",field=newField("ANYWORD",sb.toString(),5控制模用户的请求选择合适的Controller来执行用户的请求,Controller部分就是本系统的课题项目包含期成果数m项目包含会 数 o用户的请求通过前台参数传递到,例如,在课题的Controller中,要获取的参////StringsearchContext=//Stringyear=//Stringglobal=//nname= //Stringtechname=//String=//Stringarea=//方Stringrank= searchResultsearchServiceImpl.searchProject(searchProinfo,从前台获取用户请求的排序方式Sortfield,根据Sortfield对检索结果进ifif(countResultListCacheMap.get("year"+searchContext)searchContext).equals("")){{SearchServiceImpsearchImp=newSearchServiceImp();SearchProjectQuerysearchProinfo=new searchResult=null;searchResult=intnian=searchResult.getTotalHits();CommonDataModelcdm=newCommonDataModel();mav.addObject("list",showResultList); nList", JSONArrayjson n=JSONArray.fromObject(globalDataMap n",json mav.addObject("jsonYear",jsonYear);mav.addObject("searchContext",searchContext);mav.addObject("currentPagecurrentPage当前页mav.addObject("totalhits",resultNum);//总数量mav.addObject("totalPagetotalPages总页",);// return 前台页面用户输入关键字进行检索之后,ControllerServlet,Servlet选择合适的View进行展示。始束始束图${list.}课题${list.thesis} ${list.}课题${list.thesis} 表Javascript超实现这能用户点击课题之后会得到该负责的全部项目的检索结果,用户点击负:{ementById("year").value=n").value=ementById("tech").value="";ementById("area").value="";ementById("institution").value="";").value=} 承担单位参数传递到,Controller将该单位名称作为关键字进行查询,并将结果返getSearchResultList(type,value,globalOrNot){if(type=="{ ementById("year").value=ementById("area").value=ementById("institution").value=").value=} } 、专利、著作等。通过Javascript超实现这能。////<ahref="javascript:()"<a<a论文 ">标准 <a<ahref="javascript:()" Highcharts工具,HighchartsJavaScript编写的一个图表库,能够很简单便捷的在web或是web应用程序添加有交互性的图表,HighChartsJavaScriptFlashJava那样需要<ul 课题名称:<span 课题编号:">${projectIjectcode} 课题经费:<span 所属计划:<span 承担单位:微软雅微软雅黑微软雅黑微软雅黑微软雅黑 联系人微软雅<p yChart">相关成果</a><spanstyle="font-size:12px;font-family:<div<div<p<c:forEachitems="${list}"var="list"<ul 微软雅黑<spanstyle=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论