搜索引擎架构
概述
搜索引擎(Information Retrieval System)的核心任务是给定用户查询,从海量文档中快速找出最相关文档并按相关性降序返回。三核心维度:效率(毫秒级响应)、准确(匹配用户意图)、可扩展(随文档量线性扩展)。
关键内容
-
两大管道:离线索引管道(文档采集→解析→文本预处理→索引构建→存储)和在线检索管道(用户查询→解析→执行→排序→展示)。两管道通过倒排索引连接。
-
核心组件:
- 网络爬虫(Crawler):URL 调度、HTTP 下载、礼貌策略(robots.txt)、去重过滤(SimHash)
- 文档解析器(Parser):HTML 解析、字段提取(title/body/anchor)、元数据提取
- 文本分析器(Analyzer):文本预处理(分词、归一化、停用词、词干提取)
-
索引构建器(Indexer):词典构建 + Posting List + SPIMI/MapReduce
-
评分排序模型演进:
- 布尔模型(AND/OR/NOT,无评分)
- 向量空间模型(VSM,TF-IDF 余弦相似度)
- 概率模型(BM25,Robertson-Spärck Jones 权重)
- 学习排序(LTR,RankSVM/LambdaMART)
-
神经排序(BERT/DPR/ColBERT)
-
效果评估指标:Precision@K、Recall@K、MAP(Mean Average Precision)、MRR(Mean Reciprocal Rank)、NDCG@K。效率指标:查询延迟 P50 < 50ms,P99 < 200ms,QPS 10,000+。
-
工业系统:Lucene/Elasticsearch(BM25 默认)、Solr(TF-IDF/BM25)、Tantivy(Rust,高性能)。
来源
raw/articles/ai-engineering/search-retrieval/01_search_engine_architecture.md— 传统搜索引擎深度解析系列 第1篇