搜推算法 · 知识索引
搜索与推荐系统的通用算法笔记,覆盖漏斗架构、Query 理解、多路召回、向量检索、LTR 精排、评价指标与工程实践。面向算法原理与工业界常见做法,不绑定特定业务场景。
本文是 搜推算法笔记 第 7 篇。索引见 搜推算法 · 知识索引。
上一篇:Python 搜推技术栈
Elasticsearch 是工业界最常用的全文检索引擎,擅长倒排检索、BM25 打分与组合过滤。本文从搜推工程视角介绍 ES 的用法,与 ES 存储引擎系列(引擎原理)互补。
本文是 搜推算法笔记 第 5 篇。索引见 搜推算法 · 知识索引。
上一篇:精排与评价指标 · 下一篇:Python 搜推技术栈
离线 NDCG 涨了 0.02,能直接全量吗?不能。线上还有真实用户决策、展示位置、系统延迟、长期生态——没有 AB 的「感觉上线」,不是可运营系统。
这篇是算法笔记的「最后一公里」:Query、召回、精排、指标的理论最终都要通过 AB 实验在线上验证。
本文是 搜推算法笔记 第 3 篇。索引见 搜推算法 · 知识索引。
上一篇:Query 理解与多路召回 · 下一篇:精排与评价指标
语义召回解决字面匹配的盲区——用户搜「纯奶」,标题写「纯牛奶」,BM25 可能漏召,但向量空间距离很近。BM25 与向量是互补关系:前者保精确(专名、型号),后者补语义(同义、描述性 Query)。本文讲解 Embedding 原理、相似度度量、ANN 算法选型与工程部署。
本文是 搜推算法笔记 第 2 篇。索引见 搜推算法 · 知识索引。
「搜不到」在工程上常有两类根因:Query 层(输入脏、错、歧义)和召回层(覆盖不够、路数缺失)。例如用户输入「蓝芽耳机」——Query 有错别字;搜「纯奶」但标题写「纯牛奶」——字面召回覆盖不足。两者表象相同,排查路径不同。
Query 理解和召回是搜索链路的上下游:前者把脏输入变成干净、可扩展的信号;后者用这些信号从全库捞出候选池。本文将两层合并讲解,因其在工程上总是紧挨着发生。
本文是 搜推算法笔记 第 6 篇(工程篇)。索引见 搜推算法 · 知识索引。
上一篇:AB 实验与线上迭代 · 下一篇:Elasticsearch 检索基础
搜推系统中,Python 常用于算法子服务(召回、精排、向量化)和离线训练流水线。主链路可能是 Java/Go/C++,Python 负责算法密集部分。本文介绍常用工具链与工程模式。
本文是 搜推算法笔记 第 1 篇,共 7 篇。索引见 搜推算法 · 知识索引。
下一篇:Query 理解与多路召回
学习搜推算法时,常见误区是过早陷入 BM25 公式或某个模型细节,而忽略更根本的问题:整个系统到底在优化什么? 用户说「搜不到想要的」,工程师聊倒排索引和分词——中间缺了一层:从输入到最终列表,每一层在解决什么问题、失败时长什么样。
本文梳理搜索/推荐共通的工业界框架。读完应能画出标准漏斗、解释每层优化目标、判断该用哪类算法。