全球旧事资料 分类
部插件
第三章系统架构31搜索引擎基本结构
图21展示了一个可以实现网页和文档的全文检索的中文搜索引擎的基本结构。
图21中文搜索引擎基本结构索引库是信息存储的地方,这里的信息已经变成倒排结构。所谓倒排就是通过将文档Docume
t→词语Word的原始结构(如图22所示)变为词语Word→文档Docume
t的倒排结构(如图23所示)。倒排结构的好处就是可以根据对词语的搜索快速定位到文档,例如:当搜索“宏天”的时候,结果中应该出现“文档1”和“文档2”。
410
f文档1
北京宏天信息
文档2
北京宏天信业信息
图22文档的原始结构
索引器I
dexer是生成索引的模块,我们将处理过后的信息包装成文档交给索引器,索引器会在索引库中建立该文档的索引(也就是倒排结构)。
北京
文档1文档2
宏天
图23文档的倒排结构
检索器(Searcher)是信息查询的模块。当用户提交查询词后,检索器会对查询词进行分词等处理,并生成查询请求(Query)然后在索引库中进行查询,并将查询所得结果以一定得格式呈现给用户。
索引库、索引器、检索器是搜索引擎的三大核心。完全可以利用这三大模块建立一个简单的搜索引擎,不过这样的搜索引擎只有开发人员才能使用,用户使用将非常吃力,而且不能方便地对各种现存的文件(MSWord、MSExcel、HTML等)进行处理,所以真正完善的搜索引擎还需要其他模块的支持。
文档解析模块用于解析特定的文件,提取出文字信息并建立文档对象,然后交给索引器进行处理。网页处理模块用于对“网络蜘蛛”(Spider)获取的网页进行解析,提取出文字信息,建立文档对象后交给索引器处理。
510
f用户界面是面向最终用户的,它从用户角度出发,提供方便的查询界面,并将查询结果按照用户的需求予以显示。
32分词器
所谓分词就是指将一个完整的句子划分成一个个词条Toke
的过程。由于索引库中数据是一种索引结构,因此需要有一组固定的索引键Key,又因为索引库是词语→文档的倒排结构,所以这组索引键应该是词语。这就需要将句子进行切分,以获得单个的词语。
尽管每种语言都要进行分词,但是英文可以利用空格来作为天然的分隔符。然而对于中文来说,分词的情况要复杂得多。
中文分词在中文搜索引擎领域极其重要。首先,中文分词影响查询的效率。而我们的产品的搜索引擎都使用“复合分词法”,提高了搜索的效率。
33网络蜘蛛
网络蜘蛛WebSpider也称作网络爬虫,爬行系统等,是搜索引擎的一个重要模块,它从各个站点获取网页文件(这个过程叫r
好听全球资料 返回顶部