基于Lucene的垂直搜索引擎的设计和实现.pdf

基于Lucene的垂直搜索引擎的设计和实现.pdf

ID:52351568

大小:176.87 KB

页数:3页

时间:2020-03-26

基于Lucene的垂直搜索引擎的设计和实现.pdf_第1页
基于Lucene的垂直搜索引擎的设计和实现.pdf_第2页
基于Lucene的垂直搜索引擎的设计和实现.pdf_第3页
资源描述:

《基于Lucene的垂直搜索引擎的设计和实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、应用技术与研究学术探讨{.一.=.=一..二::::.:二::_二一:一.::..一.=二一i=.2013年第3簋胃j基于Lucene的垂直搜索引擎的设计和实现许璐蕾周莉汤可金姜艳萍(苏州市职业大学,江苏苏州I215104)[摘要]在研究垂直搜索引擎原理和-/i-源工具Lucene等技术基础上,实现了对网络数据的抓取、分析、建立索引和检索。阐述了基于Lucene技术的索引和检索的实现方法。实验结果表明,该系统具有较高的检索效率和准确率。[关键词]Lucene;索引;搜索;搜索引擎1.引言搜索引擎已经成为一个搜索资源的重要工具。一个高效、简洁的搜索引

2、擎,如Google和Baidu,能够快速地在网络中把用户需要的内容找出来,反馈给用户。它们凭借着自己强大的技术和检索功能,逐步脱颖而出。与此同时,还有一类搜索引擎也受到了部分人群的青睐,他们常常在某一个专业领域进行搜索,对信息精细分类和准确搜索。随着人们对网络搜索引擎的要求的逐渐改变,如何找到准确、有用的信息成为关注的要点。垂直搜索引擎就是这种针对某一领域的专业搜索引擎。文中采用Lucene的开发工具包,实现了一个简单的垂直搜索引擎。2.搜索引擎的原理搜索引擎定时遍历网页,由爬虫程序把网页保存到自己的服务器中。获取网页代码,记录网页的内容、URL等

3、相关信息。索引器对网页的内容进行分析,形成关键词和索引项,并生成以文档号部分排序的顺排档索引。索引器还对超级链接进行分析,保存链接文本、URL等信息。排序器对顺排档索引重新进行排序,生成以关键词为索引的倒排档索引。生成的倒排档索引与先前由索引器产生的索引词表相连接产生一个新的索引词表供检索程序使用。检索程序从索引表中查询用户需要的信息。通常垂直搜索引擎也是由爬虫、索引、检索和用户接口4个主要部分组成。网络爬虫从“种子集”出发,自动下载Web页面。垂直搜索引擎的爬虫搜索策略和基于宽度优先或深度优先的通用搜索引擎爬虫不同,只在一个特定的领域采集页面。垂

4、直搜索引擎对Web页面进行深度分析和处理,采用更为专业的方法对网页信息进行标引和描述。这样的搜索引擎在某一领域内提供比通用搜索引擎更为专业的搜索服务。3.LuceneLucene是一个开源的、基于Java的全文索引引擎工具包,可以方便地嵌入到应用中实现索引和检索。Lucene将所有功能分为7个模块,这些模块分别是analysis、index、search、queryParser、document、store和util,如表1所示。作者简介:许璐蕾,女,江苏人,讲师,研究方向:计算机网络。表1Lucene包结构功能表包名功能语言分析器,主要用于切词,

5、支持中文analysis主要是扩展此类索引存储时的文档结构管理,类似于关document系型数据库的表结构index索引管理,包括索引建立、删除等查询分析器,实现查询关键词问的运queryParser算,如与、或、非等检索管理,根据查询条件,检索得到结search果数据存储管理,主要包括一些底层的storeI/0操作util一些公用类4.搜索引擎的设计与实现搜索引擎工作流程如图1所示,对外接口的功能主要由analysis、queryParser和search模块完成,索引核心主要由index和store模块完成。i酹彰自肖卧一53—i学术探讨应用技

6、术与研究—二±=============二=:=二==:==:==:二:::二二二一2013年第3置胃4.1获取文档使用网络爬虫或蜘蛛程序搜集内容。这些内容分布在不同的地方,如文件系统、各种Web站点、数据库、本地XML文档集合等等。Lucene作为一款核心搜索库,并不提供任何功能来实现内容获取,但是有很多开源爬虫软件可以实现这个功能。获取原始内容后并对这些内容进行索引之前还需要将这些内容转换成“文档”,供搜索引擎使用。这个过程包括从二进制格式的文件,如PDF文件、MicrosoftOffice文件中提取文本格式信息,或者在XML、HTML等文件中

7、去除固定的标记等。4.2文档解析搜索引擎不能直接对文本进行索引。文档分析把文档分割成一系列独立的词汇单元串。通常还需要去掉一些使用频繁却没有实际意义的词,如a,in等。另外,在建立索引前,需要对文档进行大小写转换等操作。在文档分析的步骤,可以有多种方法搭建分析器。4.3建立索引对数据分析后,就可以将分析结果写入索引。Lucene将输入数据以一种倒排索引的数据结构进行存储,把文档中提取出来的词汇作为查询关键字。通常,查询的用户会搜索某一个单词X,因此倒排索引可以回答“哪些文档包含单词x?”的问题。4.3.1索引结构一个索引库类似一个数据库的表结构。可

8、以通过In.dexer来创建索引文件。建立索引是向索引库中添加索引记录,以及删除和更新索引库中的索引文档。Lucene支持

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。