毕业设计网
毕业设计论文 | 毕业设计任务书 | 计算机外文翻译 | 文献综述 | 机械模具类 | 课程设计 |

基于Lucene与Heritrix的搜索引擎构建

在互联网蓬勃发展的今天,互联网上的信息更是浩如烟海。人们在享受互联网带来的便利的同时,却面临着一个如何在如此海量的内容中准确、快捷地找到自己所需要的信息的问题,由此互联网搜索引擎应运而生。
本文在对搜索引擎的原理、组成、数据结构和工作流程等方面深入研究的基础上,对搜索引擎的三个核心部分即网络蜘蛛、网页索引和搜索的分析及实现过程进行阐述。网络蜘蛛部分采用了基于递归和归档机制的Heritrix网络爬虫;网页索引部分利用开源的Lucene引擎架构设计并实现了一个可复用的、可扩展的索引建立与管理子系统;搜索部分在Ajax技术支持上,设计并实现了一个灵活、简洁的用户接口。本系统具有抓取网页、建立和管理索引、建立日志以及搜索信息等功能,具备一定的应用前景。

关键词:搜索引擎;中文分词;索引

(1) Heritrix爬虫系统
主要是应用Heritrix爬虫抓取资源,而这些并不属于这此工程开发任务,所以不纳入设计开发。
(2) 索引建立子系统
主要是建立索引,及其周边一些操作。要设计索引建立子系统,必须要了解索引建立过程,领域模型中已经可以看出此子系统的大概框架,首先要利用文件爬虫将资源目录下的所有文件路径收集起来,再经过文件过滤器将自己感兴趣的文件路径得到,得到的路径经过正文抽取器将数据抽取出来,这样就可以利用抽取出来的数据进行索引建立。在熟悉了搜索引擎建立的过程后,可以对其架构进行设计,可以在流程中看出资源文件就像是一批材料,索引建立子系统就像是工厂,将材料加工输出成品,所以可以将该流程设计成流水线形式,可以将资源路径作为流水线上的材料,疵品被剔除掉,经过流水线的一系列操作后,索引最后输出。
(3) 用户接口子系统
用户接口子系统是用户利用用户接口子系统进行搜索,这部分可能设计到的技术是Ajax,Lucene Searcher等,利用Ajax的用户操作与服务器响应异步化特性,可以实现局部数据传输,只将用户所需要的信息返回即可,这样大大降低了服务器和客户端交互量,用户可以创建接近本地桌面应用的直观、丰富和动态的Web用户界面。
SoBa_SearchEngineCore1_0是SoBa搜索引擎的核心主要是资源整理,索引建立,日志建立等工作,源文件包结构及说明如下:
com.soba.classbuild 包存放类构造类,作用是可以利用类路径构造实例;
com.soba.configuration 包存放配置文件操作类包;
com.soba.documentfactory 包存放Document制造工厂;
com.soba.entity 包存放实体类;
com.soba.entityset 包存放实体集类;
com.soba.extractor 包存放抽取器类;
com.soba.extractor.impl 包存放抽取器实现类;
com.soba.extractor.nodefilter 包存放节点过滤器实现类;
com.soba.file 存放文件有关的操作,主要是文件爬虫和文件路径结果集类;
com.soba.filefilter.impl 存放文件过滤器的实现类;
com.soba.filefilter 存放文件过滤类;
com.soba.formovie 存放为影视服务的类;
com.soba.forpage 存放为网页服务的类;
com.soba.helper 存放帮助类;
com.soba.image 存放图片处理类,主要是图片拷贝类;
com.soba.index 存放与索引有关的类,主要是索引构造器;
com.soba.index.impl 存放索引构造器的实现类;
com.soba.log 存放日志操作类;
com.soba.processor 存放处理器类;
com.soba.split 存放利用ICTCLAS对实体进行分词的类;
com.soba.textextraction 存放正文抽取算法类;
com.soba.xml 存放对xml操作类;
com.xjt.nlp.word 存放对于ICTCLAS分词器类;
config 存放配置文件;
data存放ICTCLAS分词所用的数据文件;

以上是一部分介绍,如需要完整的资料或者如不符合您的要求,请联系技术人员qq:242219979咨询

上一篇:windows server 2003 组建校园网
下一篇:四柱液压车轮钻孔机的设计


版权所有 毕业设计网联系qq:242219979 © 2007-2022