余锦[1]2004年在《大规模分布式全文搜索系统的研究与设计》文中研究表明Internet的迅速普及和发展,使人们面临着一个信息的海洋,快速从中获取真正感兴趣的信息变得至关重要。全文搜索系统(主要指搜索引擎)即是提供这种功能的一种工具。现有全文搜索系统大都采用集中式体系结构,在可扩展性、容错性等方面存在着较大缺陷,难以适应数据量的飞快增长。本文旨在通过构建分布式体系结构的全文搜索系统—UbiSearch,达到根本解决上述问题的目的。目前为止,国内外还尚未出现这样的系统。本文重点在UbiSearch系统的设计、分布式文档重要度计算、缓存策略等方面开展了研究工作,并取得了如下成果:完成了UbiSearch的设计,包括总体设计、各模块及模拟子系统的设计。它采用完全分布的体系结构,具有良好扩展性和自组织性,避免了单点故障;模块设计中, 重点利用我们提出的多层次索引划分(MLP)策略对索引器和查询器进行了设计;模拟子系统具有良好扩展性,支持多种网络拓扑结构和对等网络协议。其上的模拟结果表明UbiSearch具有低通信延迟、负载均衡等优点。更重要地,它有效降低了主干网对分带宽的消耗,较好地解决了分布搜索中主干网对分带宽占用过高的问题。对PageRank算法进行了扩展,提出了分布式PageRank算法,使结点可以完全异步地计算文档的重要度。并从理论上证明了它的收敛性,用实验验证了它与PageRank算法在收敛结果上的吻合性。还进一步提出了间接传输模式,它大幅降低了分布式计算文档重要度时的网络消息数,具有更好的可扩展性。提出了PP Cache的缓存策略,用以优化UbiSearch的系统性能。与传统的沿途复制缓存策略相比,PP Cache以少1-3个数量级的带宽消耗获得了更好的负载均衡效果。PP Cache即使在空间紧张的情形下,仍使系统的查询性能保持稳定;并支持缓存的即时的干净的删除,消除了缓存带来的潜在数据不一致性,这些都是沿途复制缓存策略所不能提供的。
王一霈[2]2015年在《分布式全文检索系统中索引平台和信息过滤的研究与应用》文中认为随着网络时代的飞速发展,数据和信息充斥着社会生活的各个领域。人们的日常行为逐渐和网络密不可分,人们利用网络获取新闻、进行社交活动和即时通讯,发送和记录工作文档等,这些行为产生的数据都被存储在网络中。由于网络和大数据带来的变革,人们日常获取的信息量在急速增加,人们获取信息的方式也更为复杂和多样。分布式计算技术和全文检索技术是应对大数据洪流的有效工具,前者能够负载海量数据,后者能够在大规模数据中快速检索到有用信息。本文的研究背景是分布式全文检索系统,该系统针对海量多格式文件进行存储并支持快速文本检索。系统采用分布式架构设计,能够并发完成文件预处理、建立索引及存储功能,并将文件存储在分布式文件系统中。分布式全文检索系统包含如下结构:文件预处理前端、分布式索引平台、分布式文件存储系统、索引管理平台和web检索平台。其中,文件预处理前端和分布式索引平台协同完成对大规模多格式文件中文本内容的索引任务;索引管理平台和web检索平台协同完成对索引文件的管理和检索任务;分布式文件存储系统负责为系统中的各个模块提供文件存储和管理支持。本文主要设计并实现了分布式全文检索系统中的分布式索引平台,索引平台基于Hadoop分布式计算库构建,实现了对海量文本文档并发建立索引。本文提出了索引平台的基本架构,阐述了索引平台的分布式计算过程、索引平台中的共享与并发机制和索引评分机制等。本文还设计实现了文件预处理前端中的信息过滤模块,信息过滤模块可实现基于关键词的文档过滤功能,识别系统不需要处理的文档。信息过滤模块主要包括以下内容:单模式匹配模块、多模式匹配模块以及与或匹配模块。本文研究了每个模块相关的基本算法,针对算法在中文环境下实际应用中的不足进行了改进,测试结果表明改进后的算法性能得到了进一步提升。
赵乐乐[3]2017年在《基于Docker技术的全文搜索引擎的研究与应用》文中提出随着计算机世界第叁次革命浪潮的兴起。在这次浪潮中,云计算与大数据大量的应用,使得数据的处理已经跃升至TB乃至PB级,并同时针对这些数据进行更快捷、更高效的处理。因此,在云计算概念上衍生而来的各种大数据处理方法与技术,业已成为此次浪潮中主流[20]。而Hadoop平台作为此次浪潮中应用最广泛的大数据处理平台,构建在基于虚拟化技术的Hadoop架构全文搜索引擎的上基础上,有着运行稳定、经济、便于管理、存储和计算的优势。本文在全文搜索引擎的搭建方面,首先通过分析和总结当前几种分布式搜索引擎的优缺点后,提出基于Hadoop平台的分布式搜索引擎,然后分析传统服务器部署的局限性并比较传统的虚拟化技术与Docker容器技术在处理性能方面的优劣,从而使用Docker容器作为Hadoop平台底层架构来搭建Hadoop平台,以便优化Hadoop平台的性能。接着,对分布式搜索引擎的爬行、索引、查询叁个子系统进行研究,并应用Map/Reduce的并行算法思想,使Map函数封装数据计算任务、Reduce函数封装数据合并任务。此外,系统在全文检索方面使用了基于倒排文档的技术并结合TF-IDF(Term frequency–inverse document frequency)和PageRank算法进行相关度计算,优化检索方法。同时,经过底层Docker容器可以更方便的进行搜索引擎的部署和移植。基于以上研究,本文先通过对比实验,验证了与传统虚拟技术相比,Docker在读写性能方面的优势。接着,设计与优化了Hadoop在Docker容器集群的部署方案。基于以上两点,设计与构建了一个基于Docker技术的Hadoop架构的全文搜索引擎系统,并对系统的性能、可靠性、可扩展性进行测试。通过对获取的实验数据进行分析,验证了基于Docker技术的Hadoop架构的全文搜索引擎的合理性与正确性。
戴上静[4]2015年在《分布式全文检索系统中索引管理及文件预处理研究》文中进行了进一步梳理信息时代,数据规模呈现爆炸式增长,非结构化信息越来越庞大。网络中的信息具有海量规模和非结构化两大特点,传统的集中式索引难以提供高效、可靠的服务,需要建立分布式全文检索系统,处理海量的非结构化信息。分布式检索系统的主要处理对象是文本数据,使用自然语言进行检索,就需要对网络上获得的各种类型的数据进行文本提取、自然语言的分词,以便建立结构化的索引。同时也需要建立分布式索引管理机制,实现索引在各节点的负载均衡、数据同步、分布式查询,并保证信息安全。本文主要研究分布式检索系统的文本提取、中英文混合分词、分布式索引管理。本文设计并实现了支持多种文件格式的文本实时提取系统。该系统包括文件实时监控、文件类型识别、编码识别与转换、文本内容提取四个模块,使用Inotify监控数据源,将发生写操作的文件加入任务队列,识别文件类型,针对文件类型采取相应的方案进行文本提取,提取Office系列文档、pdf文档、压缩文档、邮件文档、网页文档和xml文档等文件的文本内容,制成统一编码的纯文本文件。本文设计并实现了中英文分词器对中英文语料进行分词。分词器包括中文分词、英文分词、混合分词叁个子分词器,均基于Trie树构造词典。处理文本时,首先调用混合分词器,若分词不成功则根据当前字符的语种分别调用中文或英文分词器。中文分词器采用折半扫描的正向增字最大匹配算法采集歧义字段,并设计了一套歧义处理机制来消歧。英文分词器结合波特词干算法与词典匹配法提取单词词根。结合叁种分词器,能对中英文混合的语料文本准确高效地分词。本文设计并实现了基于Katta的分布式索引管理平台,用于管理大规模索引文件,并实现了提供给用户的搜索接口和交互页面。从Katta源码中开发出接口函数,建立了一套任务管理机制,定时合并索引,并利用Zookeeper的虚拟文件系统解决索引更新和客户端搜索之间的冲突。采用Tomcat搭建Web服务器,通过JSP/Servlet技术与客户端交互,优化了搜索算法,支持分页查询、条件查询等高级搜索,为客户端提供简洁的搜索页面,设计了一套页面缓存算法增强用户体验。将数据源挂载到Web服务器,使客户端能从结果列表的链接查看原始文件,提高了搜索性能,用户体验良好。
苏宇[5]2014年在《基于Hadoop的分布式全文检索及相关技术研究》文中认为随着计算机技术和因特网的迅猛发展,人类积累的数据在迅速增加,在数据极大丰富的同时也带来了信息过载等问题。数据增长的另一个趋势是非结构化文档在数据中的比重日益增大,而对非结构化文档的检索缺乏像数据库检索的SQL语言这样简单的工具。全文检索系统通过对非结构化文档建立便于查询的结构,使得用户能在可接受的时间内得到与其查询相关的文档的有序列表。全文检索是解决信息过载问题的重要方法,具有较高的应用价值。本文研究了基于Hadoop的分布式全文检索系统。该系统包括数据接收前端模块、索引模块、搜索模块。数据接收前端接收数据源分发的原始文档,将文档存储在HDFS (Hadoop Distributed File System)上,并按照规则向Hadoop集群提交索引任务。索引模块分布式地建立索引,当索引任务完成之后,通知搜索模块管理索引。搜索模块负责管理索引,并负责接收并处理客户端的查询,然后分布式地搜索索引块,最后合并各个索引块的结果并返回结果列表。经测试,该系统可以实现正常的全文检索功能,但其性能还需改进。本文还研究了与全文检索系统密切相关的文件预处理模块。文件预处理模块包括文件类型识别、字符编码识别与转换和文本抽取。文件类型识别模块使用魔数和后缀名来识别文件的类型,并用MIME标准表示文件类型。字符编码识别模块利用字符编码方案的码位不同以及字符频率在不同编码中的分布等统计信息来识别文件的字符编码。文本抽取模块基于插件实现,为不同的插件编写适配函数以便为上层提供统一接口,还利用了多进程方案加快文本抽取速度。字符编码转换模块利用libiconv进行ANSI字符编码到Unicode字符编码之间的相互转换,利用分词技术和查表法实现中文简繁体转换。经测试,文件预处理的各个模块都能实现正常的功能,其性能也满足要求。
牛雷[6]2012年在《分布式多媒体平台中视频搜索技术的研究与应用》文中进行了进一步梳理视频音频等多媒体文件,以其生动的表现力,形式的多样性以及强大的内容承载能力等相对于传统的文本形式的信息更为优越的特征,正在越来越多的作为信息的载体被人们越来越广泛的应用于信息的保存传递展示等领域。传统的面向网站信息的网络搜索引擎,往往只关注纯文本形式的网页信息,而当面对视频等多媒体文件时,也只是能处理人为手动添加的文本形式的视频相关信息;与此同时,一般的人体识别类程序往往只分析视频里具体某一帧的内容从而提取出视频文件的内容信息,却忽略了视频整体的前后文信息,准确性不高。为了实现准确的提取视频文件内容信息进而进行高效的检索等应用,本文通过基于OpenCV的面向视频文件中人体颜色特征的内容提取程序以及基于Lucene的元数据索引-查询程序的结合,实现了一个分布式存储环境下的,可以自动化的进行视频文件内容信息提取,并通过描述特征的关键词高效准确的查找定位视频文件的系统。通过实验的验证,该系统具有较高的效率和准确度以及实用性。
王媛冬[7]2015年在《基于SolrCloud平台的分布式全文检索系统的设计与实现》文中研究说明随着大数据时代的到来,海量数据不断涌入人们的日常生活、学习和工作中,如何存储和管理这些飞速增长的数据?如何从已有的这些海量数据中将对自己有用的信息准确高效地提取?面对这些日益严峻的挑战和经济突飞猛进地发展,各类政府机构也对业务信息化有了越来越高的需求,专项网络信息平台的建立已经成为当务之急。从最初的政务信息化到今天,政府机构已经积累了大量的结构化数据和非结构化数据,对于审计厅来说,各种报表和法律法规文档等全文数据更是数不胜数,这些数据都需要记录在案,当进行审计业务和审计法律法规重新修订等工作时,工作人员不得不大量翻阅这些历史文件。这种情况下仅仅利用原有的数据库查询功能,或者人工查阅实体文本资料将会严重影响工作效率,由此我们想到可以利用全文检索技术来满足政府机构的以上需求。通过对审计厅资料库内的各种数据进行全文索引,工作人员在需要某项信息时,可以检索到各种类型的数据。由于审计工作都是分季度进行的,所以在某个时段工作人员需要集中进行操作。综合以上分析,我们决定构建一个分布式的全文检索系统来满足审计厅的需求。本文利用基于Solr和ZooKeeper的分布式搜索方案,搭建Solr服务器集群,构成SolrCloud平台,在SolrCloud上创建、存储和管理大型资料库文档和数据库信息的索引,以此为基础,构建一个分布式的全文检索系统。用户可登陆系统,普通用户可以对企业内部大量文档进行检索、预览和下载等操作,除此之外,管理员还能上传、存储和管理这些文档,从而达到机构内部资料共享的目的。文中首先探讨了全文检索和分布式搜索引擎的发展背景和研究现状,详细介绍了SolrCloud的架构和特点,以及全文检索的机理。接下来我们根据审计厅的具体要求,对分布式全文检索系统在四个层面上进行了需求分析,并对系统进行了开发环境设计,总体设计和详细设计,详细设计中给出了SolrCloud服务器集群、分布式索引、分布式检索的设计方案,随后介绍了以上设计方案的具体实现方法,并对索引的创建和检索响应进行了性能测试。文章最后对本文所做的全部工作进行了简单的总结,并且提出了可进一步研究的内容。
冯斌[8]2008年在《基于Lucene小型搜索引擎的研究与实现》文中认为随着网络的迅猛发展,一些企业和校园内部局域网的信息量也大幅增长。人们发现即使是获取局域网的信息也变得困难。目前虽然已经有google、百度这些优秀的通用搜索引擎,但是它们并不能很好的解决这个问题。一方面,通用搜索引擎的覆盖率都不太高,很多局域网的信息都无法完全搜集;另一方面,通用搜索引擎的页面更新比较慢,信息的实时性、准确性都无法保证。因此,为了提高局域网内信息检索的效率,本文设计并实现了适用于局域网信息检索的小型搜索系统。本文以校园网为平台,在深入研究了通用搜索引擎基本原理、架构设计和核心技术的基础上,结合小型搜索引擎的个性化需求,构建了一个运行稳定,性能良好且具有可扩展性的小型搜索引擎系统。论文不仅完成了对整个搜索引擎系统框架的设计,而且基本上完成了所有的开发测试工作。本文论述了系统开发的背景和国内外搜索引擎技术发展现状,分析了小型搜索系统的个性化需求,明确了系统开发过程中要解决的问题,提出了具体的设计方案。论文的主要工作以及创新如下:1.利用了分布式处理模型Hadoop,搭建了系统分布式框架,提高了系统的整体性能。2.针对搜索结果的不准确、滞后问题,分析了网络信息更新的特点,利用了Quartz作业调度系统,设计并实现了页面更新模块,提高了信息搜索的准确性和实时性。3.基于Lucene软件包,设计实现了系统核心的索引和搜索模块,完成了对页面的索引和搜索。在此过程中,设计了页面解析框架,实现了对多种格式的文本解析;研究并改进了最大正向分词算法,提高了对中文信息的分词效率;4.针对搜索结果中出现大量的重复页面的问题,研究了MD5算法实现对索引中重复页面的消除,部分优化了搜索结果。最后,通过在校园网上运行,分析了运行的数据,证明系统已成功达到了预期的目标。
王振风[9]2015年在《基于Lucene的分布式全文检索技术的研究与应用》文中认为随着互联网信息技术的快速发展,电子设备承载的数据越来越多,越来越丰富,甚至已经悄然进入大数据时代。伴随着企业数据量的不断增长和积累,企业需要解决在数据海洋中快速定位所需资料以及如何从大量文本资料中快速找到关键信息等问题。传统的方法主要是数据库直接检索,但利用数据库检索技术进行全文检索时效率很低,更无法和百度、Google等搜索引擎相媲美。同时,关系型数据库检索不能有效的处理非结构化数据。为提高全文检索的效率,本文在研究全文检索技术的基础上,对索引构建和检索过程进行优化,改进匹配算法,并结合分布式技术开发一个分布式全文检索系统,能有效处理非结构化数据,显着提高检索效率以及系统的可扩展性与可维护性。本文的具体内容主要包括:1)首先介绍了全文检索和分布式相关技术,包括Lucene的系统结构和工作流程、倒排索引机制、排序算法、分词技术以及分布式计算和分布式集群。2)分析了倒排索引底层结构及原理,并使用混合倒排索引以及不同域使用各自简化的分词器的方法进行了改进;深入剖析了全文检索过程与检索模型,提出了利用缓存和索引合并进行优化的建议;研究了Lucene的排序算法和分词技术并对现有的分词匹配算法进行改进,很好地支持了最大词匹配问题,并提出了实时更新词典的方法。3)设计了一个信息安全全文检索系统,包括索引构建、检索模块以及分词和字典的设计。通过分析Solr与Lucene的关系,使用Solr设计和实现了分布式全文检索服务器,提高了系统的可扩展性和可维护性。4)通过对原型系统的测试分析,对比使用Solr搜索服务器前后相关性能的测试结果,表明了索引创建的优化取得良好的效果,用户检索效率高,能有效检索各种非结构化数据,满足了企业内部全文检索的日常工作需要。
鱼健榕[10]2010年在《基于Nutch的搜索引擎系统的研究与实现》文中认为在已经到来的Web 2.0时代,搜索引擎在互联网上扮演了越来越重要的角色,而日益增多而且成熟的互联网用户对搜索引擎的要求也越来越高,其功能也在不断丰富和完善当中。Nutch搜索引擎系统就是一个优秀的开源搜索项目,本文正是在Nutch的基础上,探讨了搜索引擎的分布式实现。本文对搜索引擎的一般架构、原理、组成、工作流程作了较为细致的研究。搜索引擎一般由数据抓取模块、索引模块、检索模块组成。本文在对Nutch系统各组成部分进行深入研究的基础上,提出了分布式搜索引擎平台的具体设计方案。结合Hadoop分布式计算框架,对Nutch的爬虫做分布式改造,使得在数据抓取过程中,能够并行高效的完成抓取任务;同时,对数据的索引也是并行进行的;在检索时,通过Web服务器提供统一的检索入口,通过IPC机制把用户的检索请求发送到各子节点,各子节点检索自己本地的索引数据,分别返回给Web服务器。另外,结合中文搜索引擎用户的实际需求,对Nutch的默认分词模块做了改进。通过Paoding分词组件的加入,在一定程度上改进了搜索引擎检索的效果。通过对开源分布式集群监控项目ganglia的搭建,实时监控Nutch集群的工作状态,及时对集群做出调整,很好的辅助了Nutch集群的工作。
参考文献:
[1]. 大规模分布式全文搜索系统的研究与设计[D]. 余锦. 清华大学. 2004
[2]. 分布式全文检索系统中索引平台和信息过滤的研究与应用[D]. 王一霈. 中国科学技术大学. 2015
[3]. 基于Docker技术的全文搜索引擎的研究与应用[D]. 赵乐乐. 南京邮电大学. 2017
[4]. 分布式全文检索系统中索引管理及文件预处理研究[D]. 戴上静. 中国科学技术大学. 2015
[5]. 基于Hadoop的分布式全文检索及相关技术研究[D]. 苏宇. 中国科学技术大学. 2014
[6]. 分布式多媒体平台中视频搜索技术的研究与应用[D]. 牛雷. 北京邮电大学. 2012
[7]. 基于SolrCloud平台的分布式全文检索系统的设计与实现[D]. 王媛冬. 山东师范大学. 2015
[8]. 基于Lucene小型搜索引擎的研究与实现[D]. 冯斌. 武汉理工大学. 2008
[9]. 基于Lucene的分布式全文检索技术的研究与应用[D]. 王振风. 东华大学. 2015
[10]. 基于Nutch的搜索引擎系统的研究与实现[D]. 鱼健榕. 北京邮电大学. 2010
标签:计算机软件及计算机应用论文; 搜索引擎论文; 全文检索论文; hadoop论文; 中文分词论文; 大数据论文; 分布式存储系统论文; 分布式架构论文; 全文搜索论文; 搜索引擎原理论文; 分布式技术论文; 分布式处理论文; 分布式算法论文; 信息存储论文; 数据检索论文; 分布式部署论文; 文本分析论文; 分词论文; 索引论文; 数据处理论文; docker论文;