- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于lucence的信息检索系统设计与实现
系统介绍
信息检索系统是利用信息检索技术(如全文检索等)帮助用户查找特定信息的一种工具。它能够对信息进行正确的表示、存储和组织,同时还提供对于信息的访问方式。在这里,信息的概念很宽泛,,它可以是一篇文章,一段文本,一个网页,一封邮件,一张照片,甚至是一些虚拟信息的集合。
系统平台设计
本系统采用的是IDEA13 + MySQL5.1 + Tomcat5.5的开发环境。
此外,本系统所应用到的其它开源工具为:spring MVC, Mybatis,网络爬虫Heritrix1.14.3,网页解析工具HtmlParser2.0,全文检索工具包Lucene3.0,中文分词软件IKAnalyzer3.0。
系统的组成结构
整个系统由三个部分组成:网页采集分析模块、索引与数据库模块、web搜索界面模块。其中网页采集与分析分别由开源工具网络爬虫Heritrix和网页解析器HtmlParser完成;由Lucene完成索引系统,并将索引与数据库关联;web查询界面基于SSH框架设计完成。模块组成结构如图3.1所示。
图Heritrix爬虫抓取。因为有的网站使用了反爬虫技术,防止未经授权的爬虫对面页进行抓取。
网站的信息不是用javaScript动态生成的。这种动态生成的内容需要在浏览器中运行生成,是爬虫无法获取到的。
网站的面页结构不应该经常变化,最好是使用一种模版动态生成的。这样有利于在分析面页时,使用较为简单的方式从网页中解析数据。
除了上述3点技术方面的因素,在选择网站时,也应当尽量选择那些访问量较大、产品信息比较齐全的网站。这样,有利于数据完整性。基于上述各因素的考虑,
网页解析工具HtmlParser
对于抓取到的网页,需要经过解析,提取出需要的信息以便更好的建立索引和创建数据库。本文Html解析器是HtmlParser,HtmlParser是一个开源的Java库,它提供接口,支持线程和嵌套的解析Html文本。HtmlParser提供了两种访问Html结点的方法:Visitor模式和Filter模式,本文采用了Filter模式。Filter模式通过设置一定的过滤条件,对每个结点进行过滤,返回一个符合规则的节点列表。Org.htmlparser.filters包含所有已经实现的Filter类型,定义了16种Filter。
数据库设计
数据库设计
本文数据库结构简单,只有一个数据表来存储笔记本产品的各种信息,数据库各字段含义如表5.1所示。
表5.1 数据库字段含义
字段名 字段含义 Id 主键 name 名称 type 类型 content 内容 abstract 详细参数的摘要,供建立索引时使用
创建数据库的SQL语句如下:
create database searchdb;
use searchdb;
create table product (
id int AUTO_INCREMENT,
name varchar(512),
type varchar(512),
content text,
abstract varchar(512),
);
索引设计
检索的整个过程包括:构建文本库,建立索引,进行检索。
构建文本库
在开发检索功能前,一个信息检索系统需要做些准备工作。首先,必须构建一个文本数据库。这个文本数据库用来保存所有用户可能检索的信息。在这些信息的基础上,确定检索系统中的文本模型。文本模型是被系统所认可的一种信息格式,这种格式应当具有可识别、冗余度低等特点。当然,在系统的运作过程中,文本数据库的信息可能会不断地发生变化。
建立索引
有了文本模型后,就应该根据数据库内的文本建立索引。索引可以大大提高信息检索的速度。目前有多种索引的建立方式,采用哪种方式取决于信息检索系统的规模。大型信息检索系统(如百度、Google这样的搜索引擎)均采用倒排的方式来建立索引。
进行搜索
在为文本建立索引之后,就可以开始对其进行搜索。通常由用户提交一个检索请求,该请求被分析,然后在索引中检索并返回结果。
Lucene介绍
Lucene是一个开源全文检索工具包,它是apache软件基金会jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
Lucene结构分析
Lucene作为一个优秀的全文检索引擎,其结构具有强烈的面向对象特征。首先是定义了一个与平台无关的索
您可能关注的文档
- 基金会持续运营及发展模式_目录教程.doc
- 杰图市政管线协同软件简明操作手册教程.doc
- 画图软件——黄檬资料.ppt
- 洁净空调专项施工方案教程.doc
- 环保标识秀资料.ppt
- 环保法律法规及其他要求,以及公司的各项环境管理制度。资料.ppt
- 环保法配套办法资料.ppt
- 现代社交礼仪(博雅课)资料.ppt
- 基坑开挖支护方案设计毕业论文教程.doc
- 基坑支护(锚杆)专项施工方案教程.doc
- 七年级地理下册7.3印度说课稿1新人教版 .pdf
- 中国居民膳食营养素参考摄入量查询表 .pdf
- 五进活动实施方案.pdf
- 2025版《农村公路条例》全文+修订宣贯解读PPT课件(原创).pptx
- 铸铁件缺陷检测 电镜分析法.pdf
- DB64T 2143.4—2025危险化学品企业气象灾害防御安全管理规范第4部分:雷电.docx
- DB21_T+4150—2025水质 6种双酚类化合物的测定 固相萃取 高效液相色谱法.docx
- DB21T+4161-2025群众性智力运动技能等级划分.docx
- DB64 T 2143.2—2025《危险化学品企业气象灾害防御安全管理规范第2部分:大风》.docx
- DB64 T 2148—2025餐饮服务自行消毒餐(饮)具消毒规范.docx
文档评论(0)