优化Uber的搜索基础设施:升级至Apache Lucene 9.5

优化Uber的搜索基础设施:升级至Apache Lucene 9.5

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

Uber工程团队将搜索基础设施从Apache Lucene 8.0升级到9.5,提升了搜索能力和效率。新架构包含服务层和摄取层,支持实时更新和离线处理。升级后,搜索速度提高30%,CPU使用降低,基础设施成本减少。

🎯

关键要点

  • Uber工程团队将搜索基础设施从Apache Lucene 8.0升级到9.5,提升了搜索能力和效率。

  • 新架构包含服务层和摄取层,支持实时更新和离线处理。

  • 服务层处理用户查询并从Lucene索引中检索信息,包含路由服务和搜索服务。

  • 摄取层在数据变化时更新Lucene索引,使用Apache Flink处理实时更新。

  • 离线处理使用Apache Spark作业,处理大规模索引创建和重建。

  • 升级过程持续约六个月,涉及代码审查、验证和分阶段推出。

  • Apache Lucene支持多种搜索需求,包括结构化和全文搜索、拼写纠正等。

  • 升级后搜索速度提高30%,CPU使用降低,基础设施成本减少。

  • 此升级对Uber的基础设施产生积极影响,减少了所需机器数量。

  • 保持核心技术的最新状态对大规模技术驱动的运营至关重要。

🔎

延伸解读

搜索基础设施的架构优化

Uber此次升级不仅提升了搜索速度,还优化了搜索基础设施的架构。新架构分为服务层和摄取层,服务层负责处理用户查询,而摄取层则确保数据更新及时。这种分层设计使得系统在处理实时和离线数据时更加高效,适应了Uber多样化的搜索需求。

升级过程的挑战与策略

此次升级历时六个月,涉及对超过400个文件的修改,团队采取了分阶段推出的策略,以降低风险。通过先在低优先级的内部用例中部署,逐步扩展到更高优先级的应用,确保了系统的稳定性和兼容性。这种谨慎的升级方式值得其他企业借鉴。

降低成本与提升效率的双重收益

升级至Apache Lucene 9.5后,Uber的搜索速度提高了30%,同时CPU使用率降低。这不仅提升了用户体验,还显著减少了基础设施成本,允许Uber在服务多个客户时减少所需的机器数量。这一变化对技术驱动的企业尤为重要,能够在提升服务质量的同时控制运营成本。

延伸问答

Uber为什么要将搜索基础设施升级到Apache Lucene 9.5?

Uber升级到Apache Lucene 9.5是为了提升搜索能力、性能和效率。

新架构的服务层和摄取层分别负责什么?

服务层处理用户查询并从Lucene索引中检索信息,摄取层在数据变化时更新Lucene索引。

升级后的搜索速度提高了多少?

升级后,搜索速度提高了30%。

Uber在升级过程中采取了哪些步骤?

升级过程包括代码审查、验证和分阶段推出,持续约六个月。

Apache Lucene支持哪些搜索需求?

Apache Lucene支持结构化和全文搜索、拼写纠正、查询建议等多种搜索需求。

升级对Uber的基础设施有什么影响?

升级降低了CPU使用,减少了基础设施成本,并允许Uber减少所需机器数量。

🏷️

标签

➡️

继续阅读