社区搜索显示“无结果”,并不一定代表没有相关讨论:可能是用词不同、筛选条件未清除、旧主题未被正确索引,也可能确实没人讨论过。此时如果强制用户继续搜索,会提高提问门槛;如果直接进入发帖,又容易产生内容相近但约束不同的重复主题。
可以把无结果后的流程拆成三个低负担步骤:
- 先明确显示当前生效的时间、标签和排序筛选,并提供一键清除;
- 给出少量可解释的改写建议,例如同义词、上位概念或相关标签,同时说明建议来自哪个词;
- 仍要发帖时保留原查询,在发布前只展示最多三个近似主题,并允许提问者标记“约束不同”后继续,而不是硬性拦截。
近似主题提示也不宜只看标题相似度。至少应比较问题对象、目标、已知条件和期望答案类型;关键词相同但约束不同的主题,合并后反而会让讨论难以追踪。原查询可以帮助系统改进检索,但默认不必公开展示,避免把用户尝试过的所有词直接带进帖子。
试行时可比较两种流程:一组在无结果后直接发帖,另一组先看到筛选检查和近似主题。主要观察现有主题被成功找到的比例、发布后被合并的比例、从搜索到完成提问的时间,以及中途放弃率;还应抽查被判为重复的主题,确认提示没有把“同词不同问题”误当成重复。
更难确定的是触发门槛:应该在搜索完全无结果时才提示,还是结果很少、且用户很快返回时也提示?怎样的近似度证据足以给出建议,又不足以阻止发帖?