关键词:
搜索引擎
网络蜘蛛
Java
Lucene
JSP
摘要:
在互联网蓬勃发展的今天,互联网上的信息更是浩如烟海。人们在享受互连网带来的便利的同时,却面临着一个如何在如此海量的内容中准确、快捷地找到自己所需要的信息的问题,由此互联网搜索引擎应运而生。当前对于搜索引擎的研究是互联网技术中最热门的领域。
本文对搜索引擎的原理、组成、数据结构、工作流程等方面做了深入而细致地研究与分析。搜索引擎的未来发展方向是个性化、智能化。对于不同类型的用户群搜索相同的内容将得到不同的更适合用户的搜索结果,这就是搜索引擎的个性化;而智能化则指搜索引擎具有自我学习的功能,能自动地适应用户的查询需求,并能对用户进行智能分类从而为搜索引擎的个性化提供依据。
在理论研究的基础上,本文还利用Java技术对搜索引擎的三个核心部分即网络蜘蛛、网页索引、搜索进行了实现。网络蜘蛛部分采用了非递归爬取方式和Java的多线程机制,利用一个基于内存的作业队列管理器负责网页抓取过程中URL链接的加入、分配、处理等作业,同时使用线程池管理多个抓取线程,并发抓取网页。索引和搜索部分借助Lucene全文搜索引擎库中的Java类进行实现。Lucene是Apache软件基金会的一个开源项目,完全由Java实现,适用于需要全文搜索能力的应用程序,并具有良好的跨平台能力。最后采用JSP(Java Server Pages)技术设计了一个简易的搜索引擎客户端。