搜索引擎索引技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机新技术论文
论文题目:搜索引擎索引技术
课程名称:计算机新技术
专业:
班级:
学号:
姓名:
搜索引擎索引技术
摘要:近期两类国内搜索引擎技术的研究状况:爬虫系统性能优化技术研究及高级文件搜索引擎核心技术研究。爬虫系统性能优化侧重于:对爬行方式的优化实现海量信息源的高效索引;对URL 数据库存取算法的优化提高用户检索的响应速度。高级文件搜索引擎研究是通过对字符串匹配的扩展、属性过滤的扩展、查询结果优化排序、输出结果的优化选择等7 种核心技术的有效结合,丰富了文件搜引擎的功能。
关键词:互联网搜索引擎爬虫技术检索技术
搜索引擎作为网络信息搜寻的工具,它以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务。早期的搜索引擎将互联网中的资源服务器做为搜索的目标,并将收集的数据按概念进行分类,用户从分类引导中索取所需的信息资源。随着网络资源成几何量级增长, 这种方式很快就被淘汰。1994年,Spider 程序被应用到索引程序中,Yahoo 、Google等相继出现,搜索引擎技术在应用和性能方面得到长足进步。但至今,功能再强大的搜索引擎都仍然存在信息丢失、招回率不高、精确率不高等问题。用户需要更快、更准、更方便、更有效的查询服务成为搜索引擎技术发展研究追求的目标。2003 年3 月“全国首届搜索引擎和网上信息挖掘学术研讨会”在北京大学举行,该会收录论文30篇,基本反映了当前国内研究状况及进展,本文将其中最具代表性的Igloo1. 2 版网络搜索引擎和天网FTP 搜索引擎关键技术的研究状况做一介绍。
现在的数据库通常只是将信息简单地数字化和有序化,无法根据各类读者的需要组合成特定的知识体系。怎样让读者在众多信息源中迅速、直接选中自己所要检索的相关信息,能不能将信息整理、筛选,划分成许多类别分明、有特色的“知识块”,以利于读者使用呢? 知识仓库的出现,为我们解决相关问题提供了有效的技术手段。20 世纪90 年代,西方管理学家提出了知识管理的概念,认为采用现代信息技术和手段将信息加工整理成为知识,并对这些知识按照某种知识结构进行有效的管理,形成具有规定使用功能的数据仓库,也就是知识仓库。数字图书馆应用系统是进行数字化建设及整合各类数字资源的基础平台,它支持对知识和数字资源的采集、加工、处理、存储、归档、组织、发布和利用等全过程。知识仓库是数字图书馆资源建设的核心内容之一。随着信息数字化进程的加快,图书馆的工作重心开始向数字信息的描述、管理和服务转移。利用现代信息技术将更多的特色资源和常用资源数字化,通过DC 元数据的应用,可以对知识资源实现横向和纵向整合,通过建立DC、MARC 等多种元数据的关联,并以XML 结构的RDF 资源描述体系封装整合多种元数据,实现对数字资源的综合整合,最终实现文本、图像、音频、视频等不同媒体,图书、期刊、会议录、学位论文等不同类型,书目、文摘、索引、引文、综述、评论、全文等不同级次资源的链接,建立起文献、机构、人
物等科学研究所需的知识元素之间的联系和整合,从而形成知识因子的有序化,使知识的条目、事件、来源线索等相关信息形成有机的联系,成为具有特定知识结构功能的知识仓库。
1.爬虫系统性能优化技术研究
上海交通大学叶允明等的国家自然科学基金重大国际合作研究项目“Igloo 分布式爬虫系统的性能优化”研究介绍了一个大型的分布式爬虫系统Igloo1. 2 版所采用的性能优化的措施。
1.1高速通信与优雅爬行的折中
问题提出:
1)Web 资源的海量性,用15 天爬行全部网页的30 %(约10 亿个网页) 对“网络爬虫(Crawler) ”是巨大的挑战,如何在一个有效的时间内完成一次爬行互联网的任务?
2)Web 服务器同时有许多TCP 链接或在很短时间内下载大量的数据给服务器造成很大的负担,服务器将拒绝Crawler 访问,如何不影响Web 服务器和网络正常运行?
3) 分布式Crawler 中有大量的线程并行爬行,要同时访问DNS 服务器以对URL 进行域名解释,会给DNS 服务器造成很大的负载并可能导致它无法响应。
解决方案:
1) Igloo 分布式爬虫系统采用多机并行工作,它由多个爬虫组成,每个爬虫分布在不同的计算机上各自承担一部分网页的爬行任务,协同完成工作;系统采用多线程机制,让每个爬虫启动多线程并发的网页爬行,提高爬行速度。
2) 系统内设置一台主机担任任务协调器,协调器采用哈希分配算法为每个爬虫分配爬行的URL范围,确保每个爬虫根据分配策略均衡快速爬行。
3) 系统通过DNS 缓存机制来解决:DNS 解析器在解析URL 时,首先在本地的DNS 缓存中查找,如果找不到才转发给DNS 服务器,否则直接将缓存中的DNS 解析项返回。系统同时设计一个具有超时控制的DNS 解析器,保证DNS 解析的高效性。
1.2 URL 数据库快速存取
问题提出:
系统瓶颈的另一个因素是URL 数据库的存取操作,它关系到用户检索的响应速度。URL 数据库是以Trie 数据结构实现的,Trie 是一种快速索引的数据结构,而检索速度与URL 长度有关。但URL 数据结构无法全部存储在内存之中。
解决方案:
URL 数据库存取算法采用基于“滞后合并策略”,即URL 存取操作在内存中完成,使URL 存取客户不会因为磁盘I/ O 而阻塞,当该数据结构占用的内存空间超过一定的大小或每隔一定的周期,才启动一个线程将该内存驻留的Trie 与磁盘
文件中存储的Trie 数据结构进行合并,在合并时进行URL 的检索比较和插入。系统采用磁盘和内存交换的方式存取大数据结构的策略,保证Crawler 搜索到的百万级以上的数量级的URL 存取的高性能,URL 的内存命中率将近100 % ,同时也避免了DNS 服务器负载过重。
Web Crawler 是搜索引擎和Web 信息检索系统的基础,也是Web 挖掘中的模式抽取、链接分析等研究的必要前提。Crawler 系统Igloo1. 2 版采用分布式的系统结构,设计二级哈希映射算法对URL 进行高效分配;采用有效的性能优化方法保证爬行的同时不影响Web 服务器和网络的正常运行,目前Igloo系统作为Luka 搜索引擎的信息收集代理已正常运行了近两年,系统进一步完善研究仍在进行中。
2.高级文件搜索引擎核心技术研究
文件搜索引擎作为专业网络资源门户的搜索工具越来越受重视,其技术发展也日新月异,北京大学计算机科学系陈华等研究的国家985 项目,介绍“天网文件搜索引擎”从简单的FTP 搜索引擎发展成具有强大功能的高级文件搜索引擎的技术和方法。
早期的FTP 搜索引擎功能项比较简单,仅支持一些简单的操作,查询结果一般以换页方式显示。目前搜索引擎基本上可以实现指定站点的站内文件结果排序,以及在排序分类目录中二次查询。“天网文件搜索引擎”提供更加强大的搜索功能,介绍如下:
2.1 字符串匹配的扩展
问题提出:
早期搜索引擎可以实现字符串匹配功能,但对于大数据量请求,仍然影响搜索速度。
解决方案:
字符串匹配扩展可以增加搜索速度。以用户的查询串作为标签,把匹配结果建索引表,同时将索引表有时间限制地保存在文件Cache 中。再次查询时,可以先直接在Cache 中查看是否命中。该方案使再查询变得十分简便。以此逻辑,还可以将“子查询字符串+ 父查询字符串”作为标签进行保存。
2.2 属性过滤的扩展
问题提出:
文件属性和路径信息是一种非结构化数据,不能与时间等结构化的数据混在一起保存。
解决方案:
属性过滤的扩展可以实现文件分类与站内查询。
1) 将文件格式按文件扩展名进行分类,如图像(jpg、gif 、bmp. . . ) 、声音