论文部分内容阅读
随着近年来互联网相关技术与行业的飞速发展,网络上信息和数据增长趋势呈指数型上升。在如此大量级的数据包围之下,传统的通用搜索引擎很难再满足用户的使用需求,用户想要在这些内容中找到自己需要的信息变得越来越困难,这一现状促使了垂直搜索引擎的进一步发展。相较于通用搜索引擎,垂直搜索引擎只关注某一特定领域的数据和信息,为需求该领域信息的用户提供更加精确的服务,增强了这部分用户的使用体验。在此背景之下,许多的垂直搜索引擎出现在人们的视野中。另外,BitTorrent协议发展至今,受到了大量想要从互联网中下载大文件,尤其是多媒体文件的用户的欢迎,只需要使用支持BT(BitTorrent)协议的客户端软件以及与资源对应的种子文件就可以执行下载任务。然而,现在互联网上缺乏针对BT种子文件的垂直搜索引擎,更多的则是面向DHT(Distributed Hash Table)网络的磁力搜索引擎。基于此,本文设计并实现了一种面向互联网的BT种子垂直搜索引擎系统。在搜索引擎方面,本文使用Nutch和Solr框架搭建了一个分布式的垂直搜索引擎。在该结构中,Nutch主要负责对网页的抓取工作,以及对网页进行解析并提取关键信息。本文提出并实现了一种对互联网中包含BT种子下载链接的网页的筛选方案,并只对筛选过后的网页数据进行解析和保存,以此将Nutch爬虫程序打造成一个面向BT网页的主题爬虫。另外,Solr则主要负责搜索引擎中索引的建立以及作为索引服务器响应用户的查询请求。结合本系统的使用场景,本文对Solr默认的排序方式加以改进,提出了一种基于半衰期的种子下载热度计算方法,并以此来对搜索的结果进行排序。在客户端方面,本文设计并实现了一个Android app作为该搜索引擎的客户端。在该app中,封装了搜索引擎的查询接口,用户通过该接口,即可访问Solr服务器,然后在app中获取搜索结果并下载种子文件。除此之外,针对互联网中的一些BT论坛,本文提出了一套让用户在这些论坛中快速搜索并下载种子文件的解决方案。该方案主要基于Android中WebView与JavaScript的交互机制,使得用户可以在app中十分方便快速地执行论坛操作,然后完成种子的下载。最后,本文通过实验对系统的功能和性能进行了测试,并对测试结果进行分析。