1. 企业搜索平台需求分析与目标定义

企业搜索平台建设最容易失败的地方,不是技术选型,而是需求没有收敛。很多团队一上来就讨论 Elasticsearch 集群规模、分片数量、向量检索插件,结果上线后发现:业务方真正要的是"能按合同编号精确找到扫描件",而平台却把精力花在了模糊语义排序上。因此,本章的核心任务是把模糊的业务诉求,转化为可度量、可验收、可演进的平台目标。

一、业务场景调研:从"谁在搜"到"搜什么、怎么用"

调研的第一步不是问"你们想要什么功能",而是还原真实的搜索行为。建议按"角色—场景—查询—结果消费"四层展开。以一家制造企业为例,典型角色包括:研发工程师查历史设计文档、售后工程师查故障处理记录、采购人员查供应商资质、法务查合同条款。每个角色的查询特征差异极大:研发常用型号、图号等强标识符;售后常用故障现象等自然语言描述;采购关注供应商名称与资质有效期;法务则需要按条款内容做全文检索。

调研时应记录每类场景的查询样本,而不是只记录功能名称。例如售后场景的真实查询可能是"X200 设备 开机 无显示 报警 E03",其中包含型号、现象、错误码三类信息。这些样本将直接决定后续的分词策略、字段权重和过滤条件设计。建议每类角色收集 30~50 条真实查询,形成查询样本集,作为后续相关性评测的基线数据。

二、搜索质量指标:把"搜得准"变成可验收的数字

搜索质量不能停留在"感觉还行"。业界常用的一组指标包括:

  • 召回率(Recall@K):前 K 条结果中包含相关文档的比例,反映"该找到的有没有找到"。
  • 准确率(Precision@K):前 K 条结果中相关文档的占比,反映"找到的是不是都相关"。
  • MRR(平均倒数排名):第一条相关结果排名的倒数的均值,反映"相关结果排得够不够靠前"。
  • NDCG@K:考虑分级相关性的排序质量指标,适合有"高度相关/部分相关"区分的场景。
  • 零结果率:返回空结果的查询占比,是体验最直接的负向指标。
  • 首条点击率与无点击率:来自真实用户行为,反映结果是否被认可。

指标选择要与场景匹配。精确查找类场景(如按合同编号)应重点看 Top-1 准确率和零结果率;探索类场景(如技术调研)则更关注 Recall@20 和 NDCG@10。建议为平台设定分层目标,例如:精确查找 Top-1 准确率 ≥ 95%,自然语言查询 NDCG@10 ≥ 0.75,整体零结果率 ≤ 5%。这些数字是示例性目标,实际取值需结合业务容忍度和历史基线确定。

三、非功能需求:决定平台能否长期稳定运行

非功能需求往往比功能需求更能决定架构走向。需要明确的关键项包括:

维度典型要求(示例)对架构的影响
查询延迟P95 < 300ms,P99 < 800ms决定分片数、副本数、缓存策略
数据规模文档 2 亿,日增 200 万,索引 1.5TB决定集群节点数与存储选型
写入时效业务数据 5 分钟内可搜决定同步方式(CDC/批量)
可用性99.9%,单节点故障不中断决定副本与跨可用区部署
权限按部门/项目隔离,字段级脱敏决定文档级安全与查询过滤
可观测慢查询、零结果、集群健康可追踪决定监控与日志体系

其中权限与数据隔离最容易被低估。企业搜索往往涉及合同、人事、财务等敏感数据,必须在查询阶段就完成过滤,而不是靠前端隐藏。这要求文档在入库时携带权限标签,查询时由平台统一注入过滤条件。

四、平台边界与演进路线

平台边界要回答三个问题:谁负责数据接入、谁负责搜索体验、谁负责业务语义。建议平台负责统一的索引管理、查询解析、权限过滤、监控告警;业务方负责定义字段含义、提供查询样本、参与相关性评测。边界不清会导致平台变成"什么都做但什么都做不好"的泥潭。

演进路线建议分三阶段:第一阶段聚焦"能搜到",打通核心数据源,建立基础检索与权限;第二阶段聚焦"搜得准",引入字段权重、同义词、排序调优与评测闭环;第三阶段聚焦"搜得智能",在评测体系稳定后,再引入向量检索、语义召回与个性化排序。切忌在第一阶段就堆叠高级能力,否则缺乏评测基线,无法判断效果是否真的提升。

企业搜索平台需求收敛与目标定义 业务场景调研 角色:研发 / 售后 / 采购 / 法务 查询样本:型号、故障码、条款 每类 30~50 条真实查询 结果消费:阅读 / 下载 / 引用 输出:查询样本集 + 场景优先级 搜索质量指标 Recall@K / Precision@K MRR / NDCG@K 零结果率 / 首条点击率 分层目标:精确 vs 探索 输出:可验收指标 + 评测基线 非功能需求 延迟 P95 / P99 数据规模与写入时效 可用性与副本策略 权限隔离与字段脱敏 输出:架构约束 + 容量规划输入 需求收敛:平台边界定义 平台负责:索引管理 · 查询解析 · 权限过滤 · 监控告警 | 业务负责:字段语义 · 查询样本 · 相关性评测 演进路线(三阶段) 阶段一:能搜到 打通数据源 · 基础检索 · 权限 阶段二:搜得准 字段权重 · 同义词 · 评测闭环 阶段三:搜得智能 向量召回 · 语义排序 · 个性化

五、可直接使用的需求调研清单

为便于落地,下面给出一份需求调研与目标定义清单,可直接用于访谈记录和评审。字段可根据企业实际情况增删。

【场景调研记录表】
场景名称:售后故障查询
使用角色:售后工程师
典型查询:X200 开机无显示 报警E03
查询类型:混合(型号精确 + 现象自然语言)
期望结果:故障处理手册、历史工单、备件清单
结果消费:阅读后按步骤操作
优先级:P0

【质量目标表】
精确查找 Top-1 准确率:≥ 95%
自然语言查询 NDCG@10:≥ 0.75
整体零结果率:≤ 5%
P95 查询延迟:≤ 300ms

【非功能约束表】
文档规模:2 亿条
日增文档:200 万条
写入时效:≤ 5 分钟
可用性:99.9%
权限:部门级隔离 + 合同金额字段脱敏

【边界与演进】
平台负责:索引、查询解析、权限、监控
业务负责:字段语义、查询样本、评测
阶段一目标:核心数据源可搜、权限生效
阶段二目标:评测基线建立、排序调优
阶段三目标:语义召回、个性化排序
调研阶段务必区分"用户说的需求"和"用户实际的行为"。用户可能说"我要智能问答",但真实查询日志显示 80% 是精确编号查找。以日志和样本为准,而不是以访谈中的想象为准。
不要在需求阶段就承诺"语义搜索""AI 问答"等高级能力。这些能力依赖评测基线和数据积累,过早承诺会导致验收标准模糊,项目陷入无限调优。先定义可度量的基础目标,再逐步演进。

总结来说,本章的目标定义工作可以概括为:用真实查询样本锚定业务场景,用分层指标把"搜得准"变成可验收的数字,用非功能需求约束架构选型,用清晰的边界划分避免平台与业务互相推诿,最后用三阶段演进路线保证平台在可控节奏下持续提升。这五项工作完成后,后续的索引设计、查询实现和评测体系才有稳定的依据。