搜索引擎架构简介

2013-11-12
  • 830
  • 0

搜索引擎的两个主要目标是:1. 确保搜索结果质量(效果);2. 尽可能快速的反馈用户的查询请求。搜索引擎正常工作都需要哪些功能模块?本文将针对基础的功能组件展开描述,希望能够帮助大家更多的了解搜索引擎工作原理。

搜索引擎的组件主要完成两大功能:索引处理和查询处理。这两个功能下分别包含几组更具体的工作模块,介绍如下:

索引处理

  1. 文本采集组件:用于发现互联网(或局域网等环境)上的文件,例如网页、文档、图片资源等,并且确保这些文件能够被索引到搜索引擎本地服务器。采集到这些文档后,该模块还将继续分析处理,并为这些内容进行原始数据标记。
  2. 文本转换组件:该组件将文档转换为索引项。索引项将作为文档的一部分,存储在索引列表中,这些索引项是网页索引的重要原始数据。
  3. 索引创建组件:利用文本转换组件输出的结果,为文本创建索引(或称作数据结构),以便其他排序模块快速生成搜索结果。

查询处理

  1. 用户交互组件:是用户和搜索引擎间进行交互的接口,负责将用户的搜索请求转换为索引项,并将搜索引擎的查询结果,反馈到搜索结果页中。
  2. 排序组件:是搜索引擎的核心组件。它负责在接收到用户搜索请求后,快速的根据各个文档的分值排好一份文档列表。这份列表可以理解为搜索引擎返回的搜索结果页。
  3. 评价组件:该组件用于检测和反馈搜索排名算法的效果和效率。并根据用户的行为创建访问日志,通过大量的数据分析,为改进搜索引擎提供客观的判断依据,并持续改进搜索引擎效率。

搜索引擎的两个主要目标是:1. 确保搜索结果质量(效果);2. 尽可能快速的反馈用户的查询请求。搜索引擎正常工作都需要哪些功能模块?本文将针对基础的功能组件展开描述,希望能够帮助大家更多的了解搜索引擎工作原理。

搜索引擎的组件主要完成两大功能:索引处理和查询处理。这两个功能下分别包含几组更具体的工作模块,介绍如下:

索引处理

  1. 文本采集组件:用于发现互联网(或局域网等环境)上的文件,例如网页、文档、图片资源等,并且确保这些文件能够被索引到搜索引擎本地服务器。采集到这些文档后,该模块还将继续分析处理,并为这些内容进行原始数据标记。
  2. 文本转换组件:该组件将文档转换为索引项。索引项将作为文档的一部分,存储在索引列表中,这些索引项是网页索引的重要原始数据。
  3. 索引创建组件:利用文本转换组件输出的结果,为文本创建索引(或称作数据结构),以便其他排序模块快速生成搜索结果。

查询处理

  1. 用户交互组件:是用户和搜索引擎间进行交互的接口,负责将用户的搜索请求转换为索引项,并将搜索引擎的查询结果,反馈到搜索结果页中。
  2. 排序组件:是搜索引擎的核心组件。它负责在接收到用户搜索请求后,快速的根据各个文档的分值排好一份文档列表。这份列表可以理解为搜索引擎返回的搜索结果页。
  3. 评价组件:该组件用于检测和反馈搜索排名算法的效果和效率。并根据用户的行为创建访问日志,通过大量的数据分析,为改进搜索引擎提供客观的判断依据,并持续改进搜索引擎效率。