技术:Java、JSP等
摘要:
随着信息技术不断发展、互联网信息不断丰富,搜索引擎的发展速度也越来越快,目前Google收录的网页数量是全世界搜索引擎中最多的。伴随着搜索引擎的飞速发展,相应的瓶颈问题也开始出现:索引数据库越来越大,需要的维护成本越来越高;索引数据源单一,通常只限于文本内容;索引缺乏通用性和灵活性等等。而Lucene具有开放性和易扩展性,对于解决搜索引擎目前的问题有很好的应用价值。本文用lucene和Heritrix构建了一个Web 搜索应用程序,来研究Lucene在搜索引擎领域的应用。主要工作包括:
(1)分析了Web搜索引擎的组成结构和工作原理,在此基础上进行了基于Lucene的Web搜索引擎的整体结构设计,并将系统分为用户接口、请求管理器、搜索子系统和索引子系统等模块。
(2)针对各个模块的功能进行了设计开发,设计了相关信息的存储机制,并根据搜索引擎的工作原理实现了各模块之间的交互。
(3)在理解了排序索引部分的原理之后,设计了实现索引排序部分结构,完成了详细流程图和编码实现,对完成的代码进行测试。
本论文旨在设计与实现一个轻量级的文本搜索引擎。在本论文中,我阐述了文本搜索引擎的原理、技术与系统,最后设计并实现了一个轻量级的文本搜索引擎。众所周知搜索引擎是一个庞大而复杂的系统,尽管我设计和实现的搜索只是一个轻量级的文本搜索引擎,但系统任有一定的规模。我针对各个子系统给出设计方案 ,最后根据各个子系统的设计方案实现并成功部署和运行了搜索引擎。
由于我的知识和经验有限,在搜索引擎的设计和实现中,还存在着许多不足甚至是没有考虑到的地方。希望各位老师在发现问题的时候给我指正,并给我提出改正的方法和宝贵的意见。
关键词: 搜索引擎 Lucene 全文检索 Heritrix 爬虫
目录:
前 言 9
1.爬虫 24
2.信息处理 24
3.排序和索引 24
4.搜索 25
2.1.3搜索引擎主要指标及分析 25
第三章 爬虫 29
3.1概述 29
3.2爬虫结构分析 30
3.2.1爬虫初始化 30
3.2.2从网页中提取url 31
3.2.3 URL存储 32
3.2.4从数据库中提取url 32
3.3小结 33
第四章 信息处理 34
4.1概述 34
二.网页结构 35
三.网页链接结构 36
4.2转换 38
二.提取网页中的有用信息 41
三.网页信息的存储格式 42
4.3切词 43
4.3.1中文切词 45
4.3.2中文切词测试 50
4.3.3英文切词 52
4.3.4数字切词 53
4.3.5符号处理 54
4.3.6词语存储 55
4.4为分词建立索引库 55
4.5小结 57
第五章 排序索引 58
5.1概述 58
5.2统计相关url 58
5.3排序 59
5.4索引 61
5.5小结 62
第六章 搜索 63
6.1概述 63
6.2实现搜索 63
6.3性能优化 64
6.4小结 66
7.2 Lucene的原理分析 67
7.2.1全文检索的实现机制 67
7.2.2 Lucene的索引效率 67