速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 2024-12-09
    北京
  • 本文字数:1005 字

    阅读完需:约 3 分钟

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

最近,Uber 工程团队宣布升级其搜索基础设施,从 Apache Lucene 8.0 升级到 9.5 版本。此次升级提高了 Uber 各项服务的搜索能力、性能和效率。


在一篇博文中,来自 Uber 搜索平台和数据工程团队的 Anand Kotriwal、Aparajita Pandey、Charu Jain 和 Yupeng Fu 详细阐述了本次升级工作。Uber 搜索平台有一个可靠的架构,包括服务层(读取路径)和摄取层(写入路径),以及用于离线处理的组件。


服务层负责处理用户查询,并从 Lucene 索引中检索信息。它主要包含两个部分:路由服务和搜索服务,前者将传入的查询定向到适当的搜索节点,并管理负载均衡;后者查询 Lucene 索引,实时检索结果。


当数据发生变化时,摄取层会更新 Lucene 索引。基于 Apache Flink 的摄取服务会处理实时更新,确保搜索索引保持最新。


对于离线处理,Uber 使用离线作业。这些 Apache Spark 作业可以处理批量索引创建和重建,高效地处理大量数据,构建或重建 Lucene 索引。



图片来源:Lucene:Uber 搜索平台版本升级


工程团队修改了一个单独的特性分支,单体存储库中受影响的文件有 400 多个,而这些文件与当前的代码库并不兼容。为了解决这个问题,团队选择了分阶段上线 Lucene 更新。首先,他们将其部署到优先级较低的内部用例中,然后再逐步扩展到更高的层级上。


整个过程耗时约 6 个月,包括全面的代码审查、验证、与客户团队合作以及合并分支前的分级推广。


Apache Lucene 是一个基于 Java 的搜索引擎库。它支持各种搜索需求,包括结构化搜索和全文搜索、分面搜索、最近邻搜索、拼写纠正和查询建议。它还有一个子项目 PyLucene,为 Lucene Core 提供 Python 绑定。


最近,他们发布了第 10 个版本,新增一个预取 APIIndexInput(支持对文档值做稀疏索引),并升级了 Snowball 字典,进而改进了分词。


本次升级提高了 Uber 的搜索速度和效率。搜索运行速度更快,使用的资源更少,也就是说应用程序用户可以更快地获得搜索结果。按照该团队的说法,有些搜索现在比以前快了 30%,使用该应用的乘客和司机都可以获得更好的体验。


这次升级的另一个好处来自对 Uber 基础设施的影响。Uber 的搜索请求严重依赖 CPU 能力,因此降低 CPU 使用率至关重要。这有助于削减基础设施成本,使 Uber 能够减少为多个客户提供服务所需的机器数量。


Uber 升级 Lucene 版本凸显了在技术驱动的大规模运营中保持核心技术与时俱进的重要性。


原文链接:


https://www.infoq.com/news/2024/11/uber-search-infra-lucene-upgrade/


2024-12-09 08:004080

评论

发布
暂无评论
发现更多内容

一文让你明白手游行业需要堡垒机的必要性

行云管家

网络安全 数据安全 堡垒机 手游

【YashanDB知识库】YAS-02025 no free space in virtual memory pool

YashanDB

yashandb 崖山数据库 yashandb知识库

mcgs笔记 设备窗口 快速连接变量

万里无云万里天

自动化 HMI mcgs

阿里巴巴拍立淘API:实时图像搜索与快速响应的技术探索

代码忍者

API 测试 pinduoduo API

VMware Avi Load Balancer 30.2.2 发布下载,新增功能概览

sysin

负载均衡 vmware 应用交付 AVI

TiDB 扩容过程中 PD 生成调度的原理及常见问题丨TiDB 扩缩容指南(一)

PingCAP

每日必抢小程序下单总结

阿里技术

小程序 支付宝 购物 夸克

Linux进程相关命令

百度搜索:蓝易云

WebServer解析HTTP响应报文

百度搜索:蓝易云

中国智能汽车腾飞,为什么异构算力是第一生产力?

脑极体

异构计算

淘宝商品详情API返回值中的预售与定制信息

技术冰糖葫芦

api 网关 API Gateway API 文档 API 测试 pinduoduo API

多项政策扶持与流量激励,华为音乐空间音频创作者获全链路支持

最新动态

升华产品管理以提高业务敏捷性

ShineScrum

Flink Forward Asia 2024 议题征集令|探索实时计算新边界

阿里云大数据AI技术

flink 实时计算 FFA

AI话中秋,移动高清超高清技术描绘家庭娱乐“新画卷”

最新动态

全面方位了解桌面管理

Geek_a83400

mcgs笔记 画面 由全屏回到缩小的窗口状态

万里无云万里天

自动化 HMI mcgs

Datadog 监控最佳实践 | 收集正确的数据

巴辉特

监控 可观测性 监控系统 运维监控 开源监控

DeepinV20/Ubuntu安装postgresql方法

百度搜索:蓝易云

低代码平台搭建CRM系统实现公海客户自动分配

低代码小观

低代码开发 低代码平台 低代码搭建crm系统

咸宁等保测评机构在哪里?电话多少?

行云管家

等保 等级保护 等保测评 咸宁

mcgs笔记 设备窗口 通讯状态

万里无云万里天

自动化 HMI mcgs

实时分析都靠它→揭秘YashanDB列式存储引擎的技术实现

YashanDB

列式存储 yashandb 崖山数据库

PingCAP 荣登 2024 Cloud 100 China 第七名

PingCAP

构建智能电商新生态:深度解析京东商品详情API的力量

代码忍者

API 测试 pinduoduo API

【YashanDB知识库】DBeaver无法访问数据库

YashanDB

yashandb 崖山数据库

以 Buycbuy为蓝本:淘宝微店代购集运系统搭建秘籍

tbapi

淘宝代购系统 淘宝代购集运系统 华人代购系统 逆向海淘系统 代购商城系统

京东广告投放平台整洁架构演进之路

京东零售技术

架构 代码

Linux:IP转INT详解

百度搜索:蓝易云

SpringCache和Redis结合基本使用

百度搜索:蓝易云

TDengine 签约寓信科技,推动智慧公寓的数字化转型

TDengine

数据库 tdengine

优化 Uber 的搜索基础设施:升级至Apache Lucene 9.5_后端_Aditya Kulkarni_InfoQ精选文章