基于ElasticSearch的网络搜索引擎的设计与实现毕业论文
2021-11-02 20:52:24
摘 要
在互联网信息呈指数级增长的时代,如何从互联网中快速且高效地检索到自己需要的信息已成为当下亟待解决的问题之一。目前互联网上主流的搜索工具是通用搜索引擎,通用搜索引擎发展至今已经能检索出多种多样的数据,但相应的其搜索结果繁多,对用户想要的结果匹配度较低。垂直搜索引擎是针对特定领域的搜索引擎,其搜索结果匹配度高。目前已有多个领域发展出垂直搜索引擎,但还没有基于个人博客领域的搜索引擎。本文提出了一种基于ElasticSearch的分布式个人博客网络搜索引擎,为用户检索个人博客数据提供良好的用户体验。
本文总结了搜索引擎相关研究的国内外发展现状,对此课题的研究背景意义进行了分析;分析了搜索引擎系统的架构,选取ElasticSearch、WebMagic等技术完成了此搜索引擎的设计工作;使用布隆过滤器、IK分词器等技术实现了此搜索引擎的各模块,将各模块整合并最终实现了此搜索引擎。最后通过对搜索引擎各基本功能的测试验证了此搜索引擎的有效性。
本文最后还对此次工作进行总结,并对此搜索引擎存在的一些问题进行了分析,提出了改进思路以及对未来的展望。
关键词:ElasticSearch;分布式;搜索引擎;WebMagic
Abstract
In the era of exponential growth of Internet information, how to quickly and efficiently retrieve the information we need from the Internet has become one of the urgent problems to be solved. At present, the main search tool on the Internet is the general search engine. The development of the general search engine has been able to retrieve a variety of data, but the corresponding search results are numerous and have a low degree of matching. Vertical search engines are domain-specific search engines with high search results matching. Vertical search engines have been developed in many fields, but there are no search engines based on personal blogging field. This paper presents a distributed personal blog web search engine based on ElasticSearch, which provides a good user experience for users to retrieve personal blog data.
This paper summarizes the development status of search engine related research at home and abroad, and analyzed the significance of the research background of this topic; analyses the structure of the search engine system, selected Elastic Search, WebMagic and other technologies to complete the design of this search engine; implement each module of this search engine using Bloom filter, IK word segmenter and other technologies, and integrates each module and finally Implement this search engine. Finally, the validity of the search engine is verified by testing the basic functions of the search engine.
Finally, this paper summarizes the work, analyses some problems existing in this search engine, puts forward some ideas for improvement and prospects for the future.
Key Words:ElasticSearch;Distributed;Search Engine;WebMagic
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
1.3 研究内容与论文结构 2
第2章 相关技术与概述 4
2.1 搜索引擎原理 4
2.2 相关技术 5
2.2.1 WebMagic爬虫 5
2.2.2 ElasticSearch全文搜索引擎 6
2.2.3 Vue用户界面框架 7
2.3 本章小结 7
第3章 分布式网络搜索引擎的分析与设计 8
3.1 系统整体分析与设计 8
3.2 爬虫模块的设计 8
3.2.1 页面处理 9
3.2.2 新页面发现 9
3.3 索引模块的设计 10
3.3.1 ElasticSearch分布式集群 10
3.3.2 ElasticSearch索引的设计 11
3.3.3 MySQL持久化存储 12
3.4 检索模块的设计 13
3.5 展示模块的设计 13
3.5.1 搜索结果的展示 14
3.5.2 其他信息的展示 14
第4章 分布式网络搜索引擎的实现 15
4.1 爬虫模块的实现 15
4.1.1 爬虫队列 15
4.1.2 页面处理与新页面发现 15
4.1.3 持久化 16
4.2 索引模块的实现 16
4.3 搜索模块的实现 17
4.3.1 检索请求的生成 17
4.3.2 检索结果的封装 18
4.4 展示模块的实现 19
4.4.1 结果的展示 19
4.4.2 热门关键字等信息的展示 20
第5章 系统测试与性能对比分析 21
5.1 系统测试环境 21
5.1.1 配置信息 21
5.1.2 环境搭建 21
5.2 系统整体功能测试 23
5.2.1 检索功能测试 23
5.2.2 联想关键词功能测试 23
5.2.3 热门关键词等功能测试 24
5.2 系统搜索性能及对比 24
5.2.1 ElasticSearch检索性能 25
5.2.2 MySQL检索性能 25
5.2.3 ElasticSearch与MySQL性能对比分析 25
第6章 总结与展望 27
6.1 总体工作总结 27
6.2 不足与展望 27
参考文献 29
致 谢 30
第1章 绪论
1.1 研究背景及意义
在这个互联网高速发展的时代,互联网应用已经进入到生活中的方方面面,对人们的生活方式与生活习惯造成了深刻的影响。人们已经习惯于在互联网中记录自己生活中的点滴,习惯于在互联网中分享自己的感想与总结,也习惯于在互联网中寻找解决问题的办法。由于人们的这些习惯以及种种原因,目前互联网中的信息数据正在随时间呈级数式增长。
而人们能够关注到的信息是有限的,这些繁杂的网络信息在给带来便利的同时也产生了极大的问题,其中极为重要的一项就是如何在这海量的信息里面找到自己所需要的内容。信息检索功能成为遨游网络世界的必要手段,搜索引擎应时而生。搜索引擎是根据用户的检索需求,运用特定方案从互联网中检索出相关信息返回给用户的检索技术,可以快速捕捉到文本、图片、音视频等信息,为用户提供快速、高相关性的信息检索服务,帮助用户及时获取有效的信息。