空搜索结果页最容易被做成一封礼貌的道歉信:告诉用户没找到,然后让用户自己想办法。对网站开发岗位来说,这通常不是设计问题,而是判断问题——你无法确定用户是拼错了、站内确实没有,还是查询被切词切坏了。可行的做法是:先给一条与原查询强相关的替代路径,而不是给一堆热门推荐。但这条路径只在查询可解释时成立;当空结果比例升高、查询形态分散后,按单一规则硬套会制造新的死路。
假设某个站点的搜索日志里,空结果查询只有几十条,人工看一遍,能看出大部分是拼写近似或同义词差异。于是团队加了一条规则:空结果时,用编辑维护的同义词表回退到最接近的词,再展示结果。上线初期,用户点进替代结果的比例看起来不错。
但当查询量上升、长尾变多之后,这条规则开始给出与原需求无关的页面。原因是同义词表覆盖的是少数高频词,长尾查询的意图往往不在表内,回退只能命中字面相近但语义不同的词。此时空结果页给出的“下一步”表面上有内容,实际上把用户推向了错误方向。规模变化本身改变了规则的适用边界,这是不能直接照搬小样本经验的核心原因。
空结果页要给出相关下一步,前提是先分清空结果的成因。常见的有两类解释,它们指向不同的动作。
这两种解释会导向完全不同的空结果页结构。把它们混在一起,就会出现“明明有内容却推荐无关页”或“明明没内容却反复回退”的情况。
要判断某个空结果查询属于哪一类,可以看几组可获得的证据,而不是凭感觉。
这些证据只能说明倾向,不能单独定论。比如改词后命中,也可能只是用户放弃了原需求、退而求其次。因此判断时应把“是否命中”与“命中的页面是否回应原需求”分开看。
假设某站点空结果查询中,反复出现“旧型号 + 配件名”这类组合词。人工反查发现,站内只有新型号配件页,旧型号仅在文章里被提到过,没有独立页面。这属于解释一:内容缺失。
此时合理的下一步不是回退到新型号配件页——那会误导用户以为买对了——而是给出两条明确路径:一是“该型号相关文章”入口,二是“提交配件需求”的表单。表单提交后,运营可以据此判断是否值得为旧型号建独立页。这个动作的结果会直接影响下一步:如果同类提交集中出现,就说明缺的是页面;如果提交零星,说明缺的是更清晰的型号说明,而不是新页面。
反过来,如果空结果查询是“配件 旧型号”(语序颠倒),而站内其实有“旧型号配件”页面,那属于解释二。此时应放宽匹配、保留原词提示,而不是引导用户提交需求。
当空结果查询从几十条涨到几千条,人工逐条判断不再可行。可用的取舍是:对可归类的查询用规则处理,对无法归类的查询保留一个统一的、诚实的出口。
规则处理适合查询形态稳定、同义词表可控的场景,但要接受它只覆盖一部分流量。统一出口适合长尾分散的场景,代价是相关度低,但不会把用户引向错误页面。两者不是替代关系,而是按查询可解释程度分层。
需要提醒的是,空结果数量下降本身不能证明处理正确。它也可能来自匹配被放宽后把弱相关页面塞进了结果,或来自用户不再使用搜索。要判断处理是否有效,应同时看空结果后的点击是否回应了原需求,以及用户是否在空结果页完成了提交或跳转。缺少这层核对,任何“空结果变少”的指标都可能是假象。
对网站开发岗位而言,空搜索结果页的真正任务不是消灭空结果,而是在无法给出结果时,让用户清楚知道下一步为什么是这样,以及它是否值得走。