错误博客( cuowu.com )发布于 2019-06-10 16:25:42

搜索引擎的基本构件

搜索引擎的组件主要提供两种功能,也就是我们所说的索引处理(indexing process)和查询处理(query process)。索引处理建立可查找的数据结构,查询处理使用这些数据结构和用户的查询生成一个排好序的文档列表。图2-1给出了索引处理的高级“构件”(building block)。这些主要的组件包括文本采集(text acquisition)、文本转换(text transformation)和索引创建(index creation)。

文本采集组件用于发现文档,并且使这些文档能够被搜索到。尽管有时候系统可以仅仅使用已有的文档集合,但文本采集通常需要通过爬行(crawling)或者扫描互联网、企业内部网、桌面或者其他信息源,来建立一个文档集合。除了将这些文档传递给索引处理中的下一个组件,文本采集组件还创建一个文档数据库,其中包含所有文档的文本和元数据(metadata)。元数据表示的不是文档的部分内容,而是关于一篇文档的信息,如文档类型(例如电子邮件、网页)、文档结构,或者其他的特征,如文档的长度。

文本转换组件将文档转换为索引项(index term)或者特征(feature)。顾名思义,索引项是文档的一部分,存储在索引表中并且用于搜索。最简单的索引项是一个词,但并不是每一个词都可以用于搜索。“特征”更普遍地是应用于机器学习领域中,是指文档的一部分,用于表达文档的内容,特征也可以用来描述索引项。其他类型的索引项或者特征,是诸如短语、人名、日期、网页中的超链接等等。索引项有时也简单地称作“词项”。索引整个文档集合的所有词项集合,称为索引词表(index vocabulary)。

索引处理

索引创建组件利用文本转换组件的输出结果,创建索引或者数据结构,以便于实现快速搜索。在一些应用系统中,文档的规模很大,索引的创建在时间和空间上都必须是高效的。当新的文档加入到文档集合中,索引表必须能够高效地更新(updated)。倒排索引(inverted index),有时也称为倒排文件(inverted file),是到目前为止搜索引擎使用得最普遍的索引形式。倒排索引中,每一个索引项都含有一个列表,列表中包含那些含有该索引项的所有文档。这是一种相对意义的倒排:针对一个文档集合,每一个文档都含有一个列表,列表中包含该文档含有的所有索引项。倒排索引的形式多种多样,而索引的使用形式是搜索引擎中的一个重要方面。

图2-2给出了查询处理中的构件。主要的组件包括:用户交互(user interaction)、排序(ranking)和评价(evaluation)。

用户交互组件提供了搜索用户和搜索引擎之间的接口。用户交互组件的一个功能是接收用户查询并将它转换为索引项;另一个功能是从搜索引擎得到一个排好序的文档列表,并将它重新组织成搜索结果显示给用户。例如,包括生成概括文档的摘要(snippet)。文档数据库是用于生成结果的一个信息源。最后,该组件还提供一些技术,用于完善用户的查询,以便它能够更好地反映用户需求的信息。

排序组件是搜索引擎系统的核心。它使用从用户交互组件得到的转换之后的查询,并且根据检索模型生成一个按照分值排好序的文档列表。排序必须是高效的,因为短时间内需要处理大量的用户查询;排序也必须是高质量的,因为排序的质量决定着搜索引擎是否能够实现找到相关信息的目标。排序的效率依赖于索引技术,而排序的质量依赖于所采用的检索模型。

查询处理

评价组件用于评测和监测系统的效果和效率。一个重要的任务是利用日志数据(log data)来记录和分析用户的行为。评价的结果用来调整和改善排序组件的性能。除了记录用户和系统的日志数据,评价组件中大部分都不是在线搜索引擎的一部分。评价组件主要是一种离线行为,但是对于任意一种搜索应用来讲,它都是很关键的部分。


2020年错误博客亲测项目系列

错误教程( cuowu.com )专注网推培训、SEO培训和网赚培训,微信/电话:13722793092

关注微信公众号:第一时间获得错误博客最新教程,让我们一起成长!

公众号二维码