企业搜索引擎白皮书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章前言

1.1 绪论

随着信息技术的不断发展和对信息技术需求的不断增加,世界各国都在经历着前所未有的信息革命。国家的发展离不开信息化,企业的发展离不开信息化。

今日的企业在跟随时代的步伐向着信息时代迈进,而且呈现出巨大的生机与活力。信息革命的深入必然带来信息的爆炸性增长。企业信息化后,大量的文件档案信息聚集,从而导致有效信息获取的难度增强和垃圾信息量增加。于是,快速精准地获取有用信息的工具应运而生。宏天信业经过长期积累,形成了相应的企业搜索平台。

搜索引擎是信息检索的工具,因此对搜索引擎的研究应属于信息检索的分支。搜索引擎是帮助用户快速精准地从庞大的信息体中搜索到所需信息的工具。越来越多的企业对搜索技术有迫切的需求,这些需求有极强的差异,例如,有的需要的是对文档的搜索,有的需要对网页的搜索等等。图1-1展示了搜索引擎的基本思想。首先搜集目标信息,然后将信息进行分析处理,并按照一定得数据结构进行存储,最后用户从这些被存储的数据中检索出有用的信息。

搜索引擎在搜索引擎迫切的需求中诞生,经过多年的发展,我们也开发了适应于企事业的本产品搜索引擎。利用它可以快速地搭建像Google一样的搜索引

擎;通过对其配置,可以实现许多强大的功能,而且索引和查询的效率都极高,利用它可以对MS WORD、PDF、MS EXCEL、TXT等文本进行处理。从而快速搜索到需要的数据。

第二章产品介绍

搜索引擎主要是以中文信息处理技术与数据挖掘技术为核心技术,以智能检索、智能分析和智能处理为核心功能的产品。本公司搜索引擎产品主要由网络爬虫,索引器/索引库,分词器,查询器四部分模块组成,相对市场相关产品,本公司产品具有以下功能特色。

●网络爬虫

支持广度与深度搜索算法

图片及其它相关文件自动下载

●索引器

索引形式与格式自定义

支持直接保存入数据库,自定义隐射关系

●分词器

基于语义分析,词性、词频标注

人名、地名、单位名自动识别、未登录词识别

支持词库

●接口

提供查询、索引维护、应用开发接口

提供JAVA、、PHP、Perl多语言接口

●其它特色

支持外部插件

第三章系统架构

3.1 搜索引擎基本结构

图2-1展示了一个可以实现网页和文档的全文检索的中文搜索引擎的基本结构。

图2-1 中文搜索引擎基本结构

索引库是信息存储的地方,这里的信息已经变成倒排结构。所谓倒排就是通过将文档(Document) →词语(Word) 的原始结构(如图2-2所示)变为词语(Word) →文档(Document) 的倒排结构(如图2-3所示)。倒排结构的好处就是可以根据对词语的搜索快速定位到文档,例如:当搜索“宏天”的时候,结果中应该出现“文档1”和“文档2”。

索引器(Indexer)是生成索引的模块,我们将处理过后的信息包装成文档交给索引器,索引器会在索引库中建立该文档的索引(也就是倒排结构)。

检索器(Searcher )是信息查询的模块。当用户提交查询词后,检索器会对查询词进行分词等处理,并生成查询请求(Query ),然后在索引库中进行查询,并将查询所得结果以一定得格式呈现给用户。

索引库、索引器、检索器是搜索引擎的三大核心。完全可以利用这三大模块建立一个简单的搜索引擎,不过这样的搜索引擎只有开发人员才能使用,用户使用将非常吃力,而且不能方便地对各种现存的文件(MS Word 、MS Excel 、HTML 等)进行处理,所以真正完善的搜索引擎还需要其他模块的支持。

文档解析模块用于解析特定的文件,提取出文字信息并建立文档对象,然后交给索引器进行处理。网页处理模块用于对“网络蜘蛛”(Spider )获取的网页进行解析,提取出文字信息,建立文档对象后交给索引器处理。

图2-3 文档的倒排结构

图2-2 文档的原始结构

用户界面是面向最终用户的,它从用户角度出发,提供方便的查询界面,并将查询结果按照用户的需求予以显示。

3.2 分词器

所谓分词就是指将一个完整的句子划分成一个个词条(Token)的过程。由于索引库中数据是一种索引结构,因此需要有一组固定的索引键(Key),又因为索引库是词语→文档的倒排结构,所以这组索引键应该是词语。这就需要将句子进行切分,以获得单个的词语。

尽管每种语言都要进行分词,但是英文可以利用空格来作为天然的分隔符。然而对于中文来说,分词的情况要复杂得多。

中文分词在中文搜索引擎领域极其重要。首先,中文分词影响查询的效率。而我们的产品的搜索引擎都使用“复合分词法”,提高了搜索的效率。

3.3 网络蜘蛛

网络蜘蛛(Web Spider)也称作网络爬虫,爬行系统等,是搜索引擎的一个重要模块,它从各个站点获取网页文件(这个过程叫抓取)并提取出文字信息,然后交给索引器建立索引[6]。

网络蜘蛛将互联网比作由网页和链接构成的网,网络蜘蛛像蜘蛛爬网一样顺着链接从一个网页跳到另外一个网页。技术层面,网络蜘蛛从一个(或多个)原始站点出发,使用HTTP协议获得网页,通过对所获得的网页的解析,提取出新的链接,并根据一定得策略继续爬行新的链接。

网络蜘蛛的爬行策略主要有广度优先策略和深度优先策略。广度优先策略首先爬行第一层的网页,将第一层网页解析所得的发出链接存起来,待第一层链接都处理完毕,接着依次处理第二层的链接,如此一层一层地进行下去。深度优先策略从第一层链接中选取一个,抓取其指向网页并解析出发出链接,然后从发出

链接中选出一个继续前述过程,直到达到一定得限制条件后,重返上层选取新的链接进行爬行。两种策略如图2-11所示。

图2-11 广度优先与深度优先策略对比

由于互联网极其庞大,我们不可能抓取到互联网上所有的网页,所以特定的搜索引擎都会有一定的限制条件来防止爬虫抓取不必要的文件类型和无休止的抓取。例如,不关心PDF文档的爬虫会首先判断文件类型,并不耗费带宽去抓取PDF文档;某一大型网站的专用搜索引擎会限制爬虫只抓取该网站下的网页。

爬虫的设计者和网站开发者之间有一些关于爬行的协议。网站开发人员可以在站点的首层目录下放置一个Robots.txt文件,指明该站点下那些目录可以访问,哪些目录不能访问。网站开发人员也可以建立一个网站地图(Site Map)来列出该站点所有的网页链接,从而方便爬虫爬行该站点,同时有效地防止漏掉部分链接的情况。

3.3 搜索引擎响应速度

搜索引擎查询结果的相关性固然重要,但响应速度也是必须要考虑的问题,

相关文档
最新文档