标准回答
一、两层结构:召回 + 排序
智能搜索框本质是「召回 + 排序」两层。召回用混合检索:一路 BM25 关键词匹配保证精确命中(型号、专有名词),一路 embedding 语义匹配处理「换个说法」的查询,两路结果合并去重。
二、自动补全/建议
用户打字时下拉提示用两种来源:基于历史热门 query 的前缀匹配(Trie 或 ES completion suggester),以及最近搜索记录。要求极低延迟,一般独立于主搜索链路,几十毫秒内返回。
三、提精度的两个手段
- Rerank:召回 Top-50 后用 cross-encoder 重排模型逐条精算相关性,取 Top-10 展示,精度显著提升但增加延迟。
- 查询改写:先用规则或小模型做纠错、同义词扩展、口语转检索词,再去召回。
四、必须做评测
整理一批「query→期望结果」标注集,用召回率、NDCG 等指标衡量,每次改动都回归,否则调参全凭感觉。
常见误区
⚠️ 常见踩坑
误区一:容易答偏的地方:只上语义搜索丢掉关键词,结果搜精确型号/编号反而搜不到;rerank 全量召回都过一遍,延迟爆炸——应该只对 Top-K 候选 rerank。
🔗 相似问题
同一考点的不同问法,换着练更稳
延伸学习
按主题分类的相关资源,便于系统复习
