核心算法与技术点

  1. 分词算法:中文分词是搜索处理的第一步,天猫采用先进的分词算法(如基于统计的分词、基于字典的分词等),将用户输入的连续文本切分成有意义的词汇单元,以便后续进行索引和检索。
  2. 权重计算:在搜索结果排序时,天猫会根据商品的多个维度(如销量、评价、价格、店铺信誉等)计算权重,确保用户能够优先看到最符合其需求的商品。
  3. 个性化推荐:基于用户的搜索历史、购买记录、浏览行为等数据,天猫能够为用户提供个性化的搜索结果,进一步提升用户体验。
  4. 实时索引更新:为了确保搜索结果的实时性,天猫的搜索系统需要能够实时地更新商品索引。这通常涉及到复杂的分布式事务处理和数据一致性保证。

优化策略

  1. 缓存策略:通过引入缓存机制,减少对数据库的访问次数,提升搜索响应速度。常见的缓存策略包括Redis缓存、Memcached缓存等。
  2. 分布式部署:将搜索服务部署在多个服务器上,通过负载均衡技术实现请求的均衡分配,提升系统的并发处理能力。
  3. 异步处理:对于耗时的操作(如复杂的计算、远程调用等),采用异步处理方式,避免阻塞主线程,提升系统整体的吞吐量。

典型的商品搜索架构

电商搜索系统 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

image.png

image.png

image.png

搜索离线

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