商品站、内容平台和企业知识库里,搜索往往是最容易被低估的功能。用户觉得“搜不到”,很多时候数据并没有缺,问题出在前期架构没选对。这篇文章按需求类型梳理阿里云几类搜索产品的适用场景,再用两个案例说明选型和落地时的实际问题。

搜索需求到底分几类
选型前可以先问一个问题:用户输入一段内容后,系统要做什么?答案大致落在三类里。
第一类是精确找到某个对象,比如按订单号、商品编号查询。数据库索引就能满足,不必为此引入搜索引擎。第二类是关键词召回加排序,比如用户输入“无线降噪耳机”,系统要返回相关商品,并按相关性和销量排序。这类需求依赖倒排索引和分词,属于传统搜索引擎的范畴。第三类是理解意图。用户搜“适合通勤听的耳机”,商品标题里未必有“通勤”二字,系统仍要把它找出来。这一类需要把文本转成向量,通过向量相似度召回,也就是语义检索。
先分清需求属于哪一类,比先比较产品参数更有用。很多项目一开始就想上语义模型,其实关键词层面的问题还没解决。
阿里云上常见的搜索相关产品
产品名称和版本会调整,具体功能和价格请以官网文档为准。下面几类是目前比较常见的选择。
- 阿里云 Elasticsearch 是托管的 Elasticsearch 与 Kibana 服务,兼容开源 API。团队如果已经熟悉 ES 生态,需要灵活查询和日志分析,用它的迁移成本最低。
- OpenSearch 是阿里云自研的搜索服务,内置面向电商、内容等行业的排序模型和开发模板。如果团队不想花大量时间调相关性,希望尽快上线,可以优先考虑。
- 向量检索能力 包括托管的 Milvus 服务,以及 AnalyticDB 等数据库中的向量索引功能,适合语义搜索和相似推荐。
这几类并不互斥。常见做法是用 Elasticsearch 承担关键词检索,再叠加向量检索补充语义召回。
选型时主要看四件事
- 数据规模和更新频率一起看。数据量在千万级以内、更新又频繁,ES 类方案通常更顺手。如果商品类目相对固定、更新有规律,行业化的托管服务可能更省事。
- 查询模式决定了索引要做到什么程度。要不要复杂过滤、聚合统计、地理位置查询,还是以关键词加排序为主?查询越复杂,越需要可编程的索引和查询语法。
- 团队技术栈要诚实评估。团队有没有 ES 运维经验,有没有人能调分词器和排序公式?没有这类经验时,托管程度高的产品能降低风险。
- 成本和运维投入不能只看实例费用。调优、扩容、故障排查的人力也要算进去。
案例一:零售企业的站内搜索改造
某零售企业在售商品约 200 万个,原来的站内搜索直接用数据库的 LIKE 查询。商品一多,搜索页响应就超过一秒,大量搜索返回“无结果”,用户只能退出。
改造分四步。第一步,把标题、类目、品牌、属性等字段同步到阿里云 Elasticsearch,通过增量同步写入,保证商品上下架几分钟内生效。第二步,配置中文分词器,并为行业词建立自定义词典,比如“免刷”“速干”这类词,默认分词经常切错。第三步,设置同义词和拼音纠错,让“耐克”和“nike”、“iphne”和“iphone”能互相召回。第四步,提高标题字段的权重,把销量和好评率作为排序因子。
上线后,团队用一套约 500 条的人工评测词表做对比。无结果率明显下降,P95 响应时间从秒级降到几百毫秒。具体数字取决于数据量和集群规格,正式切换前最好用自己的数据压测一轮。
案例二:内容社区的语义补充
某内容社区的文章标题多是口语化表达。用户搜“适合新手的摄影入门”,但不少优质文章的标题是“手机也能拍好看的九个技巧”,关键词匹配几乎召回不到。
团队保留了原有的关键词检索,另外加了一路向量召回。文章标题和摘要经过文本向量模型生成向量,写入向量检索服务。查询时,关键词结果和向量结果各取前若干条,再通过融合排序合并,这就是混合检索。
代价是多了一套向量计算和存储。团队还发现,只用向量检索时,型号、编号这类带专业术语的查询容易跑偏,所以最终仍把关键词检索作为基础。语义能补充召回,但精确匹配的场景还得靠关键词。
落地时容易漏掉的环节
- 索引设计一旦定下字段类型、分词器和映射,后期修改成本很高。先用小样本验证,再全量导入。
- 数据同步会存在延迟。先明确能接受多长延迟,再设计失败重试和定期全量校准。
- 相关性评估靠一份固定的评测词表。每次调整分词或排序后都跑一遍对比,没有评测,调优只能凭感觉。
- 监控与限流要盯住查询耗时、无结果率和热门词分布,并对异常流量设置限流。
- 成本控制可以从分层存储入手。历史数据和热数据分开放,避免高规格实例被冷数据占着。
三个常见误区
- 把数据库模糊查询当成搜索方案。数据量小时够用,但分词、排序和纠错都做不了。
- 关键词检索还没调好就上语义模型。这样通常只是增加复杂度,问题出在哪里仍然不清楚。
- 没有评测集就直接上线。上线后的主观感受容易受个别案例影响,结论不可靠。
搜索效果来自索引、分词、排序和评测的共同作用。阿里云的产品可以组合使用,选型时把数据、查询方式和团队能力的实际情况摆清楚,决定通常就清楚了。