基于Lucene技术的垂直搜索引擎的研究与实现
作者单位:江西理工大学
学位级别:硕士
导师姓名:喻金平
授予年度:2009年
学科分类:081203[工学-计算机应用技术] 08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:垂直搜索引擎 Lucene Heritrix 排序算法
摘 要:随着Internet和WWW的迅速发展,Internet上的资源日趋丰富。为了帮助人们在浩如烟海的互联网中获取有用的信息,基于Internet的各类信息检索服务应运而生并得到了迅速发展。目前人们在互联网上搜索信息主要是通过Google、百度等通用搜索引擎。一般情况下,通用搜索引擎可以满足用户的需求。然而,当用户只想查询某一具体行业或某种主题的相关信息时,这类搜索引擎就会显得有些力不从心。垂直搜索引擎的出现,正好满足了这些特定的需求。 针对某一领域、某一特定人群或某一特定需求建立的搜索引擎称为垂直搜索引擎,它已经逐渐成为人们获取专业网络信息的重要工具。Lucene是一个用Java语言编写的全文索引引擎工具包,它可以方便地嵌入到各种应用中,实现针对特定应用的垂直搜索功能。 网络爬虫是垂直搜索引擎的数据来源,它的性能直接影响了信息采集的数量与质量,因此网络爬虫是搜索引擎的重要组成部分。Lucene本身没有提供信息采集的功能,本论文在介绍搜索引擎有关技术和开源网络爬虫Heritrix的基础上,通过对Heritrix进行扩展和改进,实现了一个垂直搜索爬虫,满足了特定的信息采集需求。测试结果表明改进后的网络爬虫的抓取效率较改进前有明显的提高。 本论文还针对Lucene在搜索结果排序算法方面的不足进行了改进。改进前的Lucene排序算法根据查询和包含关键字的文档来计算相关度得分,没有考虑网页在互联网中的重要程度,还不能完全适应网页搜索。改进后的页面优先度排序算法在原有Lucene排序算法的基础上,考虑了网页的重要程度这一因素,增加了网页的链接情况来计算网页得分。对比分析的结果表明改进后的排序算法较好地反映了这个因素,把重要的网页排在了靠前的位置。 在上述工作的基础上,论文最后设计和实现了一个垂直搜索引擎的原型系统,并提供了系统实现所采用的技术方法和核心代码,为垂直搜索引擎的构建和应用提供了有益的借鉴。