社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Elasticsearch

从“字”到“画”:基于Elasticsearch Serverless 的多模态商品搜索实践

DataFunSummit • 4 月前 • 173 次点击  

导读 随着人工智能技术的飞速发展,用户对于搜索体验的要求早已超越了传统的关键词匹配。我们正处在一个从文本搜索向多模态、跨模态搜索演进的时代。用户希望能够通过图片、甚至是自然语言描述的复杂场景,来精准地找到他们想要的商品。然而,如何理解并检索图片中的视觉元素?如何处理那些文本标题无法完全概括的商品特征?这些都是传统搜索面临的挑战。
本文将深入探讨多模态商品检索的通用解决方案,详细解读其背后的两大核心技术:Embedding(向量化)与向量检索。我们将从稠密与稀疏模型,到欧氏距离、余弦相似度,再到 HNSW 算法与 BBQ 量化等关键技术,逐一揭开多模态搜索的神秘面纱。
更重要的是,本文将结合阿里云的创新产品——AI 搜索开放平台与 Elasticsearch Serverless,展示如何将理论付诸实践,快速、低成本地搭建一套功能强大、性能卓越的多模态商品搜索系统。我们将分享 Elasticsearch Serverless 在免运维、低成本、高弹性以及与 AI 模型无缝集成等方面的独特优势,并通过一个完整的 Demo 演示,带你端到端地体验从数据处理到最终检索的全过程。


主要内容包括以下几个部分:

1. 多模态商品检索解决方案

2. 多模态商品检索关键技术

3. 基于 Elasticsearch Serverless 的最佳实践

4. Demo 演示(视频)

分享嘉宾|刘松 阿里云 搜索技术专家

内容校对|郭慧敏

出品社区|DataFun



图片
图片

🎯 《面向Agent的大数据架构》白皮书发布


当智能体开始自主决策,数据基础设施正被重新定义。本白皮书整合腾讯、阿里、小红书等一线实战,聚焦智能体记忆、多模态治理与统一元数据三大核心议题,为技术决策者提供可参考的架构演进路径。


三大核心看点:

🔹 Memory Lake 分层记忆架构:解密智能体如何实现长期记忆可追溯、短期记忆可检索,支撑AI持续进化。

🔹 多模态数据语义化治理:从碎片化到语义层,让AI真正“读懂”业务。

🔹 统一元数据与血缘:基于Gravitino与OpenLineage,构建Data+AI的可信底座。


不是趋势预测,而是深度复盘。立即下载,把握下一代数据架构真实脉络。

 [识别二维码,免费获取白皮书]

图片
图片

01

多模态商品检索解决方案

1. 搜索场景的演进

在日常的电商平台中,我们对文本搜索场景非常熟悉。例如,当用户搜索“连衣裙”时,其目标明确,就是希望购买一件合适的裙子或了解最新款式。又如,搜索“nike 涩谷限定”,这表明用户可能对耐克在特定商圈发售的某些定制款感兴趣,关键词中包含了品牌、地点和限定属性。

然而,纯文本搜索存在明显的痛点。想象一个场景:你在酒店发现一款设计独特的吹风机,却不知道其品牌和型号。此时,你最直观的需求是“以图搜图”,通过拍摄的照片来查找同款商品。这种即时性的、基于视觉的查询需求,是传统文本检索难以满足的。

另一个痛点在于商品视觉元素的缺失。例如一件印有卡通恐龙图案的绿色儿童短裤,其标题和简介可能只会描述为“男童短裤”,却无法体现“绿色”、“卡通”、“恐龙”这些对消费者(尤其是给孩子买衣服的家长)极具吸引力的视觉特征。

多模态与跨模态搜索正是为了解决这些问题而生。它允许用户使用更自然的、多维度的方式进行查询。比如,用户可以直接输入“打乒乓球的小男孩”,系统需要在海量的图片素材中,精准地找出符合这一场景描述的图片,这极大地提升了搜索的精准度和用户体验。

2. 通用的商品检索解决方案架构

一个通用的多模态商品检索解决方案,其核心在于如何处理和融合不同类型的数据。其整体架构可以概括如下:

(1)数据处理层:

商品元数据处理(结构化文本)

  • 数据源:包括商品的标题、描述、类目、标签等结构化文本信息。

  • 处理流程:对这些文本数据进行分词处理,然后构建倒排索引,存入文本引擎中。这是传统搜索的基础。

图片数据处理(非结构化数据)

  • 处理流程一:图片内容理解

通过多模态大模型对图片进行“解读”,生成描述性文本。例如,对于上述的绿色短裤,模型可以生成描述:“这是一张展示绿色短裤的图片,短裤上有一个卡通小恐龙图案”。

这段生成的文本同样可以作为结构化数据,经过分词后存入文本引擎。

  • 处理流程二:Embedding(向量化)

利用 Embedding 技术,将图片本身转换为高维度的数学向量(Vector)。

这个向量可以被认为是图片在数学空间中的“坐标”,它蕴含了图片深层次的视觉特征。

生成的向量数据被存储在向量引擎中。

通过以上步骤,一件商品的数据就被解构为两部分:一部分是存储在文本引擎中的文本信息,另一部分是存储在向量引擎中的向量信息。

2查询与召回层:

当用户发起查询时,系统会根据查询类型进行多路召回:

文本查询

  • 文本匹配:用户的查询关键词会直接在文本引擎中进行匹配,召回相关的商品。

  • 语义匹配:同时,用户的查询文本也会通过 Embedding 技术转换为查询向量,然后在向量引擎中寻找与之最相似的商品向量。

图片查询

  • 用户上传的图片会被转换成查询向量。

  • 系统使用这个查询向量在向量引擎中进行相似度检索,召回视觉上最接近的商品。

3融合与排序层:

  • Rerank & Score:来自文本引擎和向量引擎的多路召回结果,会经过一个重排序(Rerank)模块。该模块会综合考虑文本相关性得分和向量相似度得分,对结果进行最终排序。

  • 结果返回:将排序后的 Top N 结果呈现给用户。

这个架构的精髓在于,它结合了文本引擎的精确匹配能力和向量引擎的语义及视觉 相似度检索能力,从而实现了真正意义上的多模态搜索。

图片
图片

🎯 《面向Agent的大数据架构》白皮书发布


当智能体开始自主决策,数据基础设施正被重新定义。本白皮书整合腾讯、阿里、小红书等一线实战,聚焦智能体记忆、多模态治理与统一元数据三大核心议题,为技术决策者提供可参考的架构演进路径。


三大核心看点:

🔹 Memory Lake 分层记忆架构:解密智能体如何实现长期记忆可追溯、短期记忆可检索,支撑AI持续进化。

🔹 多模态数据语义化治理:从碎片化到语义层,让AI真正“读懂”业务。

🔹  统一元数据与血缘:基于Gravitino与OpenLineage,构建Data+AI的可信底座。


不是趋势预测,而是深度复盘。立即下载,把握下一代数据架构真实脉络。

 [识别二维码,免费获取白皮书]

图片
图片

02

多模态商品检索关键技术

要实现上述解决方案,离不开两大核心技术:Embedding(向量化)和向量检索。

1. 关键技术一:Embedding(向量化技术)

Embedding 的本质,是将真实世界中非结构化的数据(如文本、图像)映射、转换为机器可以理解和计算的结构化数据——向量。

1 Text Embedding (文本向量化)

文本向量化技术经历了多个发展阶段,目前主流的模型可分为三类:

  • Dense Model (稠密模型)

特点:将文本转换为稠密向量,向量中的绝大多数元素都是非零值。这种向量能很好地捕捉文本的深层语义相关性。例如,“国王”和“女王”在语义上相近,它们的稠密向量在空间中的距离也会很近。

代表模型Word2vecS-BERT、以及基于大语言模型(LLM)的各类模型。

  • Sparse Model (稀疏模型)

特点:将文本转换为稀疏向量,向量中只有极少数元素是非零的,大部分为零。它更侧重于词汇级别的精确匹配,类似于传统搜索中的“词袋模型”的升级版。

代表模型BM25SPLADE

  • Hybrid Model (混合模型)

特点:这是当前效果最优、最受关注的模型。它巧妙地结合了稠密模型和稀疏模型的优点。对于一个输入文本,它会同时生成一个稠密向量和一个稀疏向量。

优势:最终得到的混合表征既包含了语义的泛化能力(来自稠密向量),又具备了关键词的精确匹配能力(来自稀疏向量),在各类评测中显著优于单一模型。

2Image Embedding (图像向量化)

图像向量化主要借助深度神经网络,特别是卷积神经网络(CNN)。其过程可以通俗地理解为:图片作为输入,经过多层卷积层、激活函数和池化层的“特征提取”,将图片从像素矩阵一步步抽象,最终通过全连接层映射成一个低维度的特征向量。这个向量就是这张图片的高度浓缩的数学表达。

2. 关键技术二:向量检索

向量检索的核心思想是:在由海量向量构成的数学空间中,给定一个查询向量,快速、准确地找到与它“距离”最近的 个邻居(K-Nearest Neighbors, KNN)。这里的“距离”代表了相似度。

1向量相似度度量

衡量两个向量有多“近”,主要有以下几种方式:

  • 欧氏距离 (Euclidean Distance, L2 Norm)

定义:即空间中两点之间的直线距离。距离越小,代表两个向量越相似。

得分转换:在搜索引擎中,通常会将其转换为一个 到 之间的归一化得分,公式如 1 / (1 + L2_norm^2),这样距离越小,得分越高,更符合搜索排序的直觉。

  • 点积 (Dot Product)

定义:两个向量对应维度相乘后求和。

特点:如果所有向量都经过归一化(长度为 1),点积的结果等价于余弦相似度。通常,点积越大,相似度越高。

  • 余弦相似度 (Cosine Similarity)

定义:计算两个向量在方向上的夹角的余弦值。它衡量的是方向上的一致性,而不在乎绝对大小。

特点:取值范围在 -1 到 1 之间。值为 表示方向完全相同,为 -1 表示方向完全相反,为 表示正交(不相关)。这是向量检索中最常用的相似度度量之一。

2Elasticsearch 对向量功能的支持

Elasticsearch 作为业界领先的搜索引擎,近年来在向量检索领域发展迅猛,提供了全方位的支持:

字段类型

dense_vector:用于存储稠密向量。

sparse_vector:用于存储稀疏向量,能够高效处理高维、稀疏的数据。

semantic_text:一个更高级的抽象类型,可以根据配置的推理模型,自动将文本输入映射为相应的向量类型。

原生 AI 能力

Inference API:允许 ES 直接调用外部的 AI 模型(如 Embedding 模型),实现数据在索引或查询时的实时向量化。

Ingest Pipeline:在数据写入时,可以通过 text_embedding 处理器或 inference 处理器,自动将文本字段转换为向量并存入索引,极大地简化了数据处理流程。

检索语法

KNN Search:原生的近似最近邻搜索 API,用于在 dense_vector 字段上进行高效的向量检索。

混合搜索 (Hybrid Search):允许在一次查询中同时执行传统的全文检索(如 match 查询)和 KNN 向量检索。但一个挑战是如何平衡两种不同来源、不同度量衡的分数。

RRF (Reciprocal Rank Fusion):为了解决混合搜索中的分数融合难题,ES 引入了 RRFRRF  不关心原始分数的大小,只关心文档在不同召回结果集中的“排名”。它通过对排名的倒数进行加权求和,来得到最终的融合排序,是一种更鲁棒的混合排序策略。

3. 向量检索的性能优化:量化技术

向量检索,尤其是处理海量数据时,最大的瓶颈之一是内存消耗。一个高维(如 1024 维)的 float32 向量本身就占用大量空间,而用于加速检索的 HNSW 图索引也需要消耗可观的内存。因此,向量量化技术应运而生。

  • 标量量化 (Scalar Quantization, SQ)

原理:其核心思想是“降维打击”,将高精度的 float32字节)数值,量化为低精度的 int8字节)甚至更低。它通过分析一个数据段(Segment)内某一维度上所有向量值的最大值和最小值,然后按比例将 float32 值映射到 int8 的 -127 到 127 范围内。

效果:通过 SQ,向量本身占用的内存可以轻松降低为原来的 1/4int8)或 1/8int4),在牺牲可控精度的前提下,大幅节省内存。

  • BBQ (Better Binary Quantization)

背景BBQ 技术源自南洋理工大学的研究论文,是 ES 在向量量化领域的又一重大突破。

优势BBQ 可以在 SQ 的基础上,将向量检索占用的内存再降低高达 95%。这使得在 Elasticsearch 中进行百亿级别的海量向量检索成为可能。

劣势与应对:天下没有免费的午餐。BBQ 以极低的内存占用为代价,牺牲了一定的召回率。但在实际应用中,可以通过适度增加 KNN 查询的候选集数量(num_candidates)等方法,来有效缓解召回率的下降。

应用举例:一个 100 亿条 1024 维 float32 向量的数据集,原始存储需要约 37TB 内存。而采用 BBQ 量化后,加上 HNSW 图内存,总内存需求可降至约 1.8TB,所需计算节点数量从 170 个骤降至 9 个,成本效益极高。在 BBQ 的加持下,HNSW 图索引的内存占比反而成为了主要部分。

图片
图片

🎯 《面向Agent的大数据架构》白皮书发布


当智能体开始自主决策,数据基础设施正被重新定义。本白皮书整合腾讯、阿里、小红书等一线实战,聚焦智能体记忆、多模态治理与统一元数据三大核心议题,为技术决策者提供可参考的架构演进路径。


三大核心看点:

🔹 Memory Lake 分层记忆架构:解密智能体如何实现长期记忆可追溯、短期记忆可检索,支撑AI持续进化。

🔹 多模态数据语义化治理:从碎片化到语义层,让AI真正“读懂”业务。

🔹 统一元数据与血缘:基于Gravitino与OpenLineage,构建Data+AI的可信底座。


不是趋势预测,而是深度复盘。立即下载,把握下一代数据架构真实脉络。

 [识别二维码,免费获取白皮书]

图片
图片

03

基于 Elasticsearch Serverless 的最佳实践

理论的先进性最终要通过实践来检验。我们将介绍如何基于阿里云的两大产品——AI 搜索开放平台和 Elasticsearch Serverless,构建一套高效、易用的多模态商品搜索系统。

1. 整体实践架构

我们的最佳实践架构如下:

数据源:商品数据存储在云数据库 RDS 中,包含商品 ID、文本描述和图片信息。

1 AI搜索开放平台

离线数据服务:负责从 RDS 中抽取数据。

多模态向量服务:调用平台内置的 AI 模型(如 M2-EncoderQwen2-VL 等),将商品的文本和图片数据统一转换为多模态向量。

数据写入:将处理好的文本数据和向量数据写入 Elasticsearch Serverless

2Elasticsearch Serverless

作为核心的文本引擎向量引擎,存储商品的文本索引和向量索引。

在线查询

用户通过前端应用发起查询(文本或图片)。

查询请求经过 AI 搜索开放平台的多模态向量服务进行向量化。

向量化的查询请求被发送到 Elasticsearch Serverless 进行多路召回(文本+向量)。

ES 返回 Top N 结果,最终呈现给用户。

2. 阿里云 AI 搜索开放平台

这是一个一站式的、企业级的 AI 搜索解决方案平台,其分层架构清晰,功能强大:

底层(数据源与管理):支持多种数据源接入,包括对象存储(OSS)、数据库(MySQL)、数据湖(Hudi, Iceberg)和大数据计算平台(MaxCompute)等。

中层(核心服务与生态)

搜索微服务:提供文档解析、多模态解析、向量化、RerankLLM 推理、LLM Agent 等一系列原子化的 AI 能力。

开放框架与生态:无缝对接 LangChainLlamaIndex 等主流开发框架,并支持集成多种向量数据库(如 MilvusHavenask 以及 Elasticsearch)。

上层(应用开发与部署):提供 AI 搜索应用场景的快速开发能力,并支持通过函数计算(FC)、PAI 等多种方式进行应用部署。

该平台预置了丰富的 AI 模型,如文档解析、图片解析、文本向量化、多模态向量化、Reranker、大模型生成等,并且提供了“体验中心”,让开发者可以快速验证模型效果,例如输入文本或上传图片,即可看到其生成的向量结果。

3. Elasticsearch Serverless

这是阿里云上的一种全托管、智能化的 Elasticsearch 服务形态,它与传统的 IaaS/PaaS 模式有着本质区别,为多模态搜索场景提供了极致的便利。

1)技术架构

其核心是一个 Serverless Proxy,它对用户屏蔽了底层集群的复杂性,负责鉴权、路由和请求改写。 Proxy 后面是读写分离的 Elasticsearch 服务集群和元数据服务,底层基于分布式存储。整个系统由应用管控系统智能运维系统进行管理和调度,实现了从资源到运维的全方位自动化。

2)核心优势

优势一:免运维

版本无感:用户无需再为追赶 ES 社区日新月异的向量功能版本而烦恼,也无需担心安全漏洞。Serverless 平台会自动保持内核的最新和最优化。

资源无感:彻底屏蔽了集群、节点、分片、规格配置等复杂的物理概念。用户面对的只是一个逻辑上的“应用”,无需进行容量规划。

开箱即用的监控:默认提供面向业务的应用读写 QPS、索引流量等核心指标监控。

优势二:低成本

极低的接入成本:创建一个 Serverless 应用仅需数秒,即可获得访问地址和配套的 Kibana。对于需要快速迭代验证算法的开发者来说,这是巨大的便利。

真正的按量付费:打破了传统包年包月的固定付费模式。以 CUCompute Unit)为计算资源单位,按实际使用量计费,计费粒度细化到秒级,完美匹配业务流量的潮汐变化,杜绝资源浪费。

优势三:高弹性

资源自动扩缩:系统会根据应用的实时和历史负载水位,动态、透明地调配底层资源。当业务高峰来临时,资源会自动扩容以支撑流量;当流量回落时,资源会自动缩减以节约成本。

配置自动调整:除了计算资源,系统还会智能地调整索引副本数、限流阈值等配置,以达到最佳性能和稳定性的平衡。

优势四:无缝集成 AI 模型

AI 模型开箱即用Serverless 应用无缝集成了 AI 搜索开放平台上的所有模型,用户可以直接在 ES 内部通过 Inference API 调用它们。

支持自定义模型:更强大的是,它允许用户接入自己的、或第三方的优秀模型。只需通过简单的 API 配置,即可将任意外部模型集成到 ES 的 Inference 体系中,这为算法的灵活性和先进性提供了无限可能。

优势五:向量场景深度优化

智能过滤向量字段:默认在 _source 中排除向量字段,节省存储和传输资源,避免不必要的数据暴露。

向量默认量化策略:用户可以一键开启 int8 或 BBQ 等默认量化策略,无需关心底层实现细节,即可享受量化带来的内存和成本优势。

向量自适应预热:系统会自动将不同类型的向量索引文件(HNSW 图、量化向量等)预加载到文件系统缓存中,减少首次查询的冷启动延迟,提升高并发场景下的响应稳定性和吞吐量。

图片
图片

🎯 《面向Agent的大数据架构》白皮书发布


当智能体开始自主决策,数据基础设施正被重新定义。本白皮书整合腾讯、阿里、小红书等一线实战,聚焦智能体记忆、多模态治理与统一元数据三大核心议题,为技术决策者提供可参考的架构演进路径。


三大核心看点:

🔹 Memory Lake 分层记忆架构:解密智能体如何实现长期记忆可追溯、短期记忆可检索,支撑AI持续进化。

🔹 多模态数据语义化治理:从碎片化到语义层,让AI真正“读懂”业务。

🔹 统一元数据与血缘:基于Gravitino与OpenLineage,构建Data+AI的可信底座。


不是趋势预测,而是深度复盘。立即下载,把握下一代数据架构真实脉络。

 [识别二维码,免费获取白皮书]

图片
图片

04

 Demo 演示(视频)

下面,我们将通过一个端到端的 Demo,展示如何利用上述技术和产品,快速搭建一个多模态商品搜索应用。

以上就是本次分享的内容,谢谢大家。

点个在看你最好看

SPRING HAS ARRIVED

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/195271