Elasticsearch大咖说 | Elasticsearch 在手机垂直搜索业务的应用创新

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: Elasticsearch作为一个分布式、高扩展、实时的搜索与数据分析引擎,因其轻量级、稳定、可靠、快速等特性受到越来越多开发者的青睐,在搜索、日志分析、运维监控和安全分析等领域得到广泛应用。阿里云Elasticsearch技术团队,深度采访了来自阿里巴巴、vivo、携程、eBay等知名公司的技术专家,推出了Elasticsearch大咖说系列专题,为广大开发者提供技术入门与进阶的经验分享,以及最佳应用实践参考。

Elasticsearch 作为一个分布式、高扩展、实时的搜索与数据分析引擎,因其轻量级、稳定、可靠、快速等特性受到越来越多开发者的青睐,在搜索、日志分析、运维监控和安全分析等领域得到广泛应用。阿里云 Elasticsearch 技术团队,深度采访了来自阿里巴巴、vivo、携程、eBay 等知名公司的技术专家,推出了 Elasticsearch 大咖说系列专题,为广大开发者提供技术入门与进阶的经验分享,以及最佳应用实践参考。


分享嘉宾

杨振涛

vivo 互联网搜索引擎架构师

vivo 是一个专注于智能手机领域的知名品牌,而 vivo 互联网为 vivo 智能手机用户提供极致的互联网产品和服务。从 Elasticsearch 2.1.1版本开始,到目前,vivo 互联网已经使用了 200 多个 Elasticsearch 集群来支撑全球 2 亿多台手机每天的各种搜索请求,涵盖了 vivo 的应用商店、游戏、音乐、主题、壁纸、铃声等各种手机服务背后的搜索服务,也包括产品配件、售后、FAQ 等企业门户官网的搜索请求。

一、ES技术养成之路


话题1:如何学习 Elasticsearch 及相关技术栈的知识

‍‍从两个方面说,一是以官方提供的入门和参考文档为主,‍‍因为业内现在 Elasticsearch 相关的资料相对来说比较丰富,但是想要跟上官方最新版本的节奏以及考虑权威性,还是官方的参考文档和‍‍有关的手册会比较靠谱;‍‍

另一方面,建议可以积极参与社区的一些活动,比如国内的中文社区有提供一些官方文档‍‍的中文版翻译,可以一定程度上降低学习门槛。另外国内的社区活动相对是比较丰富的,在一些一二线‍‍城市都有本地的技术沙龙活动,大家可以积极参加和交流学习。

二、 Elasticsearch 从业者的职业发展


话题2:对 Elasticsearch 开发者技术发展方向的建议

Elasticsearch 开发者大致可以分为三类:

第一类,是做垂直搜索业务的开发者。就我个人而言,我是从 1.0 版本开始接触的,最早是做垂直搜索业务,Elasticsearch 能帮我们快速上手搜索业务。如果你想在搜索业务持续精进,深入掌握 Elasticsearch 是很好的方式,因为 Elasticsearch 底层使用的是Lucene,加上它的分布式系统架构,这都是做搜索引擎的过程中,迟早都要接触的。Elasticsearch 是一个成熟的开源项目,从它的源代码可以学习到很多分布式系统知识,包括各种线程池的设计,以及多个节点间的协同,给搜索从业者提供了一个范本,即使你业务规模大到一定程度,不再使用 Elasticsearch ,转为自行开发,它的系统原理和 Elasticsearch 也可能基本是一致的。

另一类 Elasticsearch 开发者,已经分化到不同业务领域,比如做安全分析、日志分析、源代码搜索等等。他们对 Elasticsearch 的了解是阶段性的, Elasticsearch 作为一个搜索的解决方案,从数据索引到检索、查询和最后的排序,都能够很好地支撑。如果开发者希望他的业务有更好的提升的话,还得持续加深研究,甚至可以考虑考取 Elastic 官方认证,来给自身职业进行加分。

还有一类开发者,当公司的 Elasticsearch 集群发展到一定规模后,公司出于资源使用率和集群稳定性及可用性考虑,可能会自研 Elasticsearch 服务化平台,对所有 Elasticsearch 集群进行管控和资源使用率优化。对这一类开发者,我们建议他们对 Elasticsearch 底层做更深入的研究,可能需要为业务方做定制化的插件开发,甚至做一些基础研发,替换掉官方的某个模块,包括通过 Docker 和 K8S 实现容器化。

三、 Elasticsearch 应用实践


话题3:所在团队业务背景和 Elasticsearch 应用介绍

Elasticsearch 作为垂搜引擎的抉择

从 2014 年开始,我们在 vivo 开始做垂直搜索业务,典型场景包括:应用商店、游戏中心、官方商城、铃声、壁纸和主题等,因为手机上有很多内容资源需要分发给用户,搜索是用户获取资源的非常重要的方式。在安卓生态蓬勃发展的时期,有两三百万 APP,搜索功能对用户体验就至关重要,对游戏或 APP 开发者来说,搜索对提升他们内容的分发效率也是很重要的渠道,搜索在整个平台上的分发量超过了 8 成。所以我们从那个时候开始发力做垂直搜索。现在回过头来看,很庆幸当时非常明智的选择了 Elasticsearch,如果当时选择了其他技术栈,现在很可能会经历一个替换的过程。

在垂搜领域对 Elasticsearch 做定制化改造

vivo 互联网的垂直搜索业务刚开始用 Elasticsearch 时,从 0 到 1 的过程没有太大挑战,很快就能实现垂搜的基本功能。但是一旦实现了这个功能之后,搜索引擎需要持续优化迭代,大家会发现诸如分词效果不好,数据召回率或准确率不够等方面的问题。数据索引、检索以及排序这三个方面都有做深入的干预。因此把 Elasticsearch 作为一个底层快速检索和粗排工具,利用 Elasticsearch 做首轮召回,然后再通过后续其他自研系统做精排(二次排序),实现更精细的业务逻辑。这是我们遇到的第一大挑战,我相信在业界的垂搜项目,大概率会经历这样一个过程。经历过这样的定制化改造后,就可以根据用户点击行为等评价指标做持续性优化。

四、 Elasticsearch 技术前瞻


话题4: Elasticsearch 和数据可视化的结合

在监控运维领域,需要通过数据面板将数据结果呈现给开发者或其他角色去查看,之前大家用 Grafana 比较多,也有部分项目会使用 Kibana。据我们了解,国内开发者者和国外相比,在用户体验的需求上,可能存在差异。

国外开发者可能更偏好 Kibana,既可以通过拖拽实现查询,也可以写一些简单表达式实现高级查询,然后快速得到可视化面板。

但在国内,特别是非技术人员和大数据开发者,不太习惯使用表达式的方式来高度定制,更习惯于拖拽类的,或是表达式定制类的。在未来希望能够考虑到开发者不同偏好群体的习惯,对目前功能做一些区隔处理。另外,国内的可视化项目,特别是数字化大屏,需要非常立体和丰富的展现,Kibana 对这方面需求可以多做一些考量。

话题5: Elasticsearch 和 AI 的结合

‍‍目前我们在 Github 看到一些 Elasticsearch 和 AI 结合的开源项目,比如尝试使用 Learn to Rank,使用机器学习去优化排序,包括 Elastic 官方也在增强这方面的能力。我觉得 AI 的部分比较难做成像 Elasticsearch 功能化的部分那样开箱即用,因为需要开发者对机器学习模型有基本的认知,知道模型的输入和输出是什么,优化点是哪个部分。我觉得这是未来可以加大投入的地方,如何将 AI 能力赋能给那些没有机器学习背景的开发者,让他们能给业务更好的提升。另外一方面,业内也有同行在探索基于机器学习构建索引,这个对于大平台大数据量来说是一个比较新的但很有吸引力的方向。

相关活动


image.png

更多折扣活动,请访问阿里云 Elasticsearch 官网

• 阿里云 Elasticsearch 商业通用版,1核2G首月免费
阿里云 Elasticsearch 日志增强版,首月六折,年付六折
阿里云 Logstash 2核4G首月免费

image.png

image.png

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
2月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
2月前
|
存储 Linux iOS开发
Elasticsearch Enterprise 9.1.5 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 9.1.5 (macOS, Linux, Windows) - 分布式搜索和分析引擎
288 0
|
3月前
|
JSON 监控 Java
Elasticsearch 分布式搜索与分析引擎技术详解与实践指南
本文档全面介绍 Elasticsearch 分布式搜索与分析引擎的核心概念、架构设计和实践应用。作为基于 Lucene 的分布式搜索引擎,Elasticsearch 提供了近实时的搜索能力、强大的数据分析功能和可扩展的分布式架构。本文将深入探讨其索引机制、查询 DSL、集群管理、性能优化以及与各种应用场景的集成,帮助开发者构建高性能的搜索和分析系统。
306 0
|
8月前
|
前端开发 搜索推荐 JavaScript
如何通过DIY.JS快速构建出一个DIY手机壳、T恤的应用?
DIY.JS 是一款基于原生 Canvas 的业务级图形库,专注于商品定制的图形交互功能,帮助开发者轻松实现个性化设计。适用于 T 恤、手机壳等多种商品场景。它自带丰富功能,无需从零构建,快速集成到项目中。通过创建舞台、添加模型、定义 DIY 区域和添加素材四个步骤即可完成基础用法。支持在线演示体验,文档详细,易上手。
343 57
|
10月前
|
机器学习/深度学习 存储 人工智能
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
MNN-LLM App 是阿里巴巴基于 MNN-LLM 框架开发的 Android 应用,支持多模态交互、多种主流模型选择、离线运行及性能优化。
7749 80
MNN-LLM App:在手机上离线运行大模型,阿里巴巴开源基于 MNN-LLM 框架开发的手机 AI 助手应用
|
11月前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
855 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
7月前
|
存储 安全 Linux
Elasticsearch Enterprise 9.0 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 9.0 (macOS, Linux, Windows) - 分布式搜索和分析引擎
317 0
|
7月前
|
存储 Linux iOS开发
Elasticsearch Enterprise 8.18 发布 - 分布式搜索和分析引擎
Elasticsearch Enterprise 8.18 (macOS, Linux, Windows) - 分布式搜索和分析引擎
271 0
|
11月前
|
人工智能 自然语言处理 搜索推荐
云端问道12期实操教学-构建基于Elasticsearch的企业级AI搜索应用
本文介绍了构建基于Elasticsearch的企业级AI搜索应用,涵盖了从传统关键词匹配到对话式问答的搜索形态演变。阿里云的AI搜索产品依托自研和开源(如Elasticsearch)引擎,提供高性能检索服务,支持千亿级数据毫秒响应。文章重点描述了AI搜索的三个核心关键点:精准结果、语义理解、高性能引擎,并展示了架构升级和典型应用场景,包括智能问答、电商导购、多模态图书及商品搜索等。通过实验部分,详细演示了如何使用阿里云ES搭建AI语义搜索Demo,涵盖模型创建、Pipeline配置、数据写入与检索测试等步骤,同时介绍了相关的计费模式。
354 3
|
11月前
|
人工智能 算法 API
构建基于 Elasticsearch 的企业级 AI 搜索应用
本文介绍了基于Elasticsearch构建企业级AI搜索应用的方案,重点讲解了RAG(检索增强生成)架构的实现。通过阿里云上的Elasticsearch AI搜索平台,简化了知识库文档抽取、文本切片等复杂流程,并结合稠密和稀疏向量的混合搜索技术,提升了召回和排序的准确性。此外,还探讨了Elastic的向量数据库优化措施及推理API的应用,展示了如何在云端高效实现精准的搜索与推理服务。未来将拓展至多模态数据和知识图谱,进一步提升RAG效果。
412 1

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版