核心算法与技术点
- 分词算法:中文分词是搜索处理的第一步,天猫采用先进的分词算法(如基于统计的分词、基于字典的分词等),将用户输入的连续文本切分成有意义的词汇单元,以便后续进行索引和检索。
- 权重计算:在搜索结果排序时,天猫会根据商品的多个维度(如销量、评价、价格、店铺信誉等)计算权重,确保用户能够优先看到最符合其需求的商品。
- 个性化推荐:基于用户的搜索历史、购买记录、浏览行为等数据,天猫能够为用户提供个性化的搜索结果,进一步提升用户体验。
- 实时索引更新:为了确保搜索结果的实时性,天猫的搜索系统需要能够实时地更新商品索引。这通常涉及到复杂的分布式事务处理和数据一致性保证。
优化策略
- 缓存策略:通过引入缓存机制,减少对数据库的访问次数,提升搜索响应速度。常见的缓存策略包括Redis缓存、Memcached缓存等。
- 分布式部署:将搜索服务部署在多个服务器上,通过负载均衡技术实现请求的均衡分配,提升系统的并发处理能力。
- 异步处理:对于耗时的操作(如复杂的计算、远程调用等),采用异步处理方式,避免阻塞主线程,提升系统整体的吞吐量。
典型的商品搜索架构
电商搜索系统 OverView
https://chmx0929.gitbook.io/machine-learning/sou-suo-tui-jian-guang-gao/sou-suo-tui-jian-guang-gao
https://www.yuque.com/angsweet/machine-learning
https://arxiv.org/abs/2106.09297



搜索离线
搜索离线平台处理一次主搜全增量主要由同步层和数据处理层组成,它们又分别包括全量和增量流程。