论基于Java的全文检索实现和索引性能提高
论基于Java的全文检索实现和索引性能提高
第27卷第1期
2009年3月Journal0f湖北民族学院学报(自然科学版)HubeiUniversityforNationalities(NaturalScienceEdition)V01.27No.1M盯.2009
论基于Java的全文检索实现和索引性能提高
汪涛
(湖北民族学院理学院,湖北恩施445000)
摘要:当今搜索引擎已经成为人们在网上搜索信息的重要工具,分析索引机静j榘构和全文检索系统结构,探讨
了实现Tomcat+JsP+Lucene的运作流程和核心代码,对如何提高索引性能进行了研究.
关键词:全文检索;Java;Lucene;索引机制;索引性能
中图分类号:TP312文献标识码:A文章编号:1008—8423(2009)01-0049—03
OnFulltextRetrievalImplementandImprovementof
PerformanceofIndexBased
WANGTanonJava
(SchoolofScience,HubeiUniversityforNationalities,Enshi445000,China)
toAbstract:Searchengineis肌importanttoolforpeople
chitectureofindex—mechanismandsystem
dureandkernel¥ourcesbased
ofindex.
Keywords:fulltextonstructuresearchon/ntemet.’11lisarticleanalyzesthe81"-offulltextretrieval,introducestheoperating—proce-toTomcat+JSP+Luceneanddiscusseshowimprovetheperformanceretrieval;java;Lucene;index—-mechanism;performanceofindex
Intemet的资源迅速增长,使Web发展成为包含多种信息资源、站点遍布全球的海量信息服务网络.同是,也有越来越多的机构、团队和个人在Intemet用搜索引擎查询信息….因此,搜索引擎性能的提高成为搜索引擎开发的重要环节.
1全文检索系统的机制
全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统,由索引引擎、查询引擎、文本分析引擎、对外接口及各种外围应用系统等共同构成.其系统结构详见图1.
1.1全文检索系统的核,厶--Lucene
Lucene是ApacheJakarta家族中的一个开放源代码项
目,它不是一个完整的搜索应用程序,而是基于Java的全文
信息检索工具包【21.Lucene能够为文本类型的数据建立索
引,因此其工作原理是将其它数据格式经解析转化为文本,再
由Lucene分词器提取出索引项以及相关信息[3】,然后把这些
信息写到索引文件中,保存到磁盘或者内存中,其机制架构详
见图2.
Fig.1图1全文检索系统结构Thesystemstructureoffulltextretrieval
收稿日期:2008—11—25.
基金项目:湖北省科技攻关计划项目(2005AAl01C17);湖北省教育厅优秀中青年项目(Q20092901);湖北民族学院青年基金项目.作者简介:汪涛(1977一),男,硕士,讲师,主要从事计算机应用的研究.
论基于Java的全文检索实现和索引性能提高
50
1.2Lucene+JSP+Tomcat湖北民族学院学报(自然科学版)第27卷
如前所述,Lucene是一个全文检索引擎的架构,系统中索引
引擎、查询引整、文本分析引擎职能都是Lucene承担HJ,它可提
供完整的查询引擎和索引引擎及部分文本分析引擎,但仅仅靠
Lucene还不能实现全部索引和提供查询功能,尤其是对于网上蠢;刈I叛姘』I毒二;诨■HTML膏荜fj亍lPDF解析lMSWord解析lI文奉文竺l文奉文“解析丽蕊2雨≤户虿
围2
Fig2检索和查询,还需要具有方便的用户接口、面向~的开发接口、二次应用开发接口等等.这就需要将Lucene与JSP和Tom-cat有效结合起来.JSP(JavaServerLucene索引机制架构Thearchitectureofindex -
onPages)则是由SunMicrosys-terns公司倡导、许多公司参与一起建立的一种动态网页技术标nlechanismbasedLucene
准.JSP技术是用java语言作为脚本语言的,JSP网页为整个服务器端的java库单元提供了一个接口来服务于HTTP的应用程序,如在传统的网页HTML文件(木.htm,木.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页( .jsp),Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户;TomcatServer是根据Servlct和JSP规范进行执行的,各种应用程序都需要建立在这个引擎之上.因此,Lucene+JSP+Tomcat就可实现以为Lucene基础建立全文检索系统‘51.
1.3Lucenc倒排索引原理
全文索引先要解决一个语言分析问题,模糊查询相对数据库的精确查询是一个非常不确定的问题,因此大部分数据库对全文检索支持有限.Lucene是基于关键词索引和查询的,首先要找出字符串中的所有单词,即分词,没有什么实际意义的词【6J,如英文中的“in”、“once”、“too”,中文中“的”“是”、标点符号等先过滤掉.而其它英文中单词间是通过空格天然分开,而中文字一个字挨一个,要进行特殊的词切分处理,一些比较复杂的词法分析都是用JavaCC生成的.其分词器切分处理后,一般面言,对应关系是:“文章号”对“文章中所有关键词”.倒排索引把这个关系倒过来,变成:“关键词”对“拥有该关键词的所有文章号”.这样就可以利用倒排索引轻松地找到那些包含了特定索引项的文档.因此,Lucenc索引之所以效率高,正是靠使用倒排文件索引结构.
2全文检索系统的实现
在掌握全文检索系统原理机制后,实现操作则相对简单容易.
2.1简单的安装.
①下载程序.Lucene是用Java写的,它的运行、调试都需要有JavaSDK.web服务器是在网络中为实现信息发布、资料查询、数据处理等诸多应用搭建基本平台的服务器.TomcatServer是根据Servlet和JSP规范进行执行的,是一个十分有用的网络应用开发服务平台.JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于H11甲的应用程序.因此,首先需要下载、安装Lucene、Tomcat和JSP,这三个软件及使用说明都可从Lueene的官方网站一1上直接下载;②编辑、调试在java …… 此处隐藏:8764字,全部文档内容请下载后查看。喜欢就下载吧 ……
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




