[快速入门]数据可视化技术的发展方向
华为云Astro大屏应用

机械加工作业看板是一种用于监控和管理机械加工生产过程工具,通过Astro Canvas提供机械加工作业看板模板无缝衔接机械加工状态趋势,包括故障预警、任务执行时长、完成率、问题处理详情、财务收入等关键功能,并迅速监测和监管问题数量、严重程度。它为工厂管理人员提供了一个全面而直观生产状态展示平台,实现

智能数据湖_FusionInsight_数据湖应用场景_大数据-华为云

“未来,我们希望继续深化与华为云合作。通过华为云全球化布局,推动我们出海业务,进一步拓展我们发展空间。” ——梦饷集团CEO 冷静 了解详情 T3 出行 “T3 出行Lakehouse 整体技术架构特点就是存算分离,基于开源Hudi 框架,使得它能够同时支撑BI 和AI 场景,目前我们托管于华为云FusionInsight

弹性云服务器 ECS-概览

千台弹性云服务器分钟级极速发放,满足业务高效稳定诉求 经济高效资源投入,节省您业务成本 经济高效资源投入,节省您业务成本 企业按需支付资源费用,大大降低固定资产投入,减轻业务拓展成本压力 通过可视化控制台配置定时或周期性监控策略,动态调整弹性云服务器实例 提供按需、包

数据仓库服务GaussDB(DWS)核心技术介绍

基于Shared-nothing/MPP对等并行计算模型可以充分利用CPU/IO/Mem等资源,获得极致运算性能和线性可扩展性,从而支持PB级数据规模。 分布式存储 GaussDB(DWS)采用水平分表方式,将数据表格元组按照一定分布策略分散存储到多个节点。查询时候可以通过查询条件过滤不必要数据,

数据仓库服务 GaussDB(DWS)产品架构_技术特点

个拥有独立且互不共享CPU、内存、存储等系统资源逻辑节点组成。在这样系统架构中,业务数据被分散存储在多个物理节点上,数据访问任务被推送到数据所在位置就近执行,通过控制模块协调,并行地完成大规模数据处理工作,实现对数据处理快速响应。 GaussDB(DWS)支持行列混合存

安全云脑 SecMaster 产品功能

• 应急漏洞公告:针对业界披露热点安全漏洞,支持每5分钟抓取一次安全漏洞讯息,获取最新应急漏洞公告详情。 • 策略管理:支持统一管理防线策略和应急策略。 威胁运营 提供丰富威胁检测模型,帮助您从海量安全日志中,发现威胁、生成告警;同时,提供丰富安全响应剧本,帮助您对告警进行

MapReduce服务

台已经在招商银行业务创新中产生了显著影响,目前招商银行理财产品推介短信量和过去相比下降82%,却可以全面覆盖有效购买用户 了解详情 支撑T3 出行Lakehouse 整体技术架构存算分离 T3出行Lakehouse 整体技术架构特点就是存算分离,基于开源Hudi 框架,使得它能够同时支撑BI

IoT数据分析

华为云物联网数据分析服务是以物联网资产模型为中心分析服务。不同于公有云上通用型大数据相关产品,物联网数据分析服务与资产模型深度整合,在相关数据分析作业定义中,开发者可以方便引用物联网模型数据,大大提升数据分析效率 华为云物联网数据分析服务是以物联网资产模型为中心分析服务。不同于公有云上通用型大数据相

应用平台 AppStage

场景:企业面向2C、2B云上应用开发 痛点 1、各种技术飞跃式进步,令人眼花缭乱,很多企业被动式堆砌 2、选择产品和解决方案时,缺乏全面视角和评估能力,缺少持续严谨性 3、企业面临新技术缺乏系统性规划、设计和持续集成能力,只能进行孤岛式局部创新 4、运维保障任务耗费团队大部分时间与精力

[相关产品]数据可视化技术的发展方向
基于标识解析技术的仓储管理系统

基于标识解析仓储管理系统仓储管理在物流整个管理流程中起着非常重要作用。传统仓库管理一般依赖于一个非自动化、以纸张文件为基础系统来记录、追踪进出货物。由于仓储管理完全由人工实施,效率极其低下,能管理仓库规模也很小。随着仓储管理物资种类、数量和出入库频率不断增加,仓

基于数字孪生技术的智慧社区管理软件

基于数字孪生可视化技术进行数字建模,通过对多源数据关联融合,形成一个紧密联系整体,实现最小管理单元全要素全状态智能感知及洞察,全局视角构建可管,可控,可溯数字孪生系统。1.电梯管理:电梯物联网远程监测系统实时采集电梯上行、下行、平层、所在楼层、困人、卡层、开关门异常、冲

调度技术服务

品在十年时间运行需要。一旦用户为目前所配备备品备件已接近消耗完毕时候,我公司将负责提供适用备品备件,以补充备品备件不足。此外,由于我公司提供软件系统对硬件具有广泛适应性,因此,一旦由于时间过久,与当前系统所匹配硬件设备已停产,我公司可以保证,最新硬件设备同样可以

企业基础技术平台

致了大量系统、功能和应用重复建设,更造成了计算资源、存储资源和人力资源浪费。     数据中台、业务中台、技术中台是三个最为关键企业中台,他们在企业数字化建设中作用三分天下。技术中为企业数字化提供统一支撑平台,包含低代码开发平台,支撑企业各种应用开发与运维;数据中台则为数据资产管理提供支撑

站内技术服务

品在十年时间运行需要。一旦用户为目前所配备备品备件已接近消耗完毕时候,我公司将负责提供适用备品备件,以补充备品备件不足。此外,由于我公司提供软件系统对硬件具有广泛适应性,因此,一旦由于时间过久,与当前系统所匹配硬件设备已停产,我公司可以保证,最新硬件设备同样可以

云朵数据可视化系统

使用图形化界面通过拖拉拽轻松搭建出专业数据可视化应用,无论是数据报表,大屏驾驶舱,车间看板,监控直播,3D模型展示,操作终端等都可应对项目既可以保存在用户本地,也可以选择通过线上保存,随时随地编辑,创建编辑并使用项目,没有任何限制,你可以任意部署到自己环境中,通过拖拉拽轻松搭建出专业数据可视化应用

云技术支持服务

健康检查服务基于云服务体系,帮助客户对云资源容量、安全、运维流程规范等进行健康巡检和打分。7.变更服务帮助客户进行产品资源开通、释放,备份,扩容,升降配等容量管理操作。8.监控告警服务助客户建立完善监控和报警策略,及时处理报警事件。9.故障应急处理服务提供7*24小时故障响应,当系统发生故障时

专利技术挖掘服务

资深代理师深度挖掘潜在专利点,解决交底慢、交底难、交底不规范问题,为专利申请提质增效。全方位分析技术创新原理,随时响应企业上门指导要求,多维度检索提高授权率

智慧餐厅通用技术系统

六:光波加热模块,采用磁控管加热系统加热更快更稳定; 七:机身坚固轻便抗腐蚀,延长使用寿命; 八:独立制冷模块,节能环保, 高效保鲜,在保证餐品安全同时,也能保证餐品口味智慧餐厅管理系统:生产计划管理系统,管控整个餐厅调度、管理。.  物联网平台链接各种智能硬件设备:智能烹饪机、无人值守健康售餐柜、

[相似文章]数据可视化技术的发展方向
大数据可视化平台是什么_大数据可视化平台有什么优势

置数据源时候,保留CSV首行作为表头,并且每一个列列名需要和相应图表中要求数据结构字段名保持一致。 DLV数据连接支持哪些类型? DLV数据连接支持以下几种: 数据库类:包括数据仓库服务(DWS)、数据湖探索服务(DLI)、MapReduce服务(MRS)Hive

RPA 技术_RPA技术应用_RPA适用于哪些流程的开发

SNS?一起来看看具体场景。 盈利分析 成本效益高 降低成本 盈利分析 华为数字机器人-软件License SNS通过精心优化设计和生产过程,成功降低了成本。这使得我们能够以更低价格提供这款商品,为客户节省更多费用。不仅如此,由于成本降低,客户可以以较低价格获得高

RPA技术原理_什么是RPA技术_RPA运维是做什么的

充命令,为用户提供了丰富功能和灵活扩展性。用户可以根据自己需求选择合适组件和命令,实现更多样化操作。 密竹RPA编辑器内置了100+组件和可扩充命令,为用户提供了丰富功能和灵活扩展性。用户可以根据自己需求选择合适组件和命令,实现更多样化操作。 密竹机器人流程自动化软件

GaussDB技术_云原生数据库技术_高斯数据库技术-华为云

角色:IAM最初提供一种根据用户工作职能定义权限粗粒度授权机制。该机制以服务为粒度,提供有限服务相关角色用于授权 IAM最新提供一种细粒度授权能力,可以精确到具体服务操作、资源以及请求条件等。基于策略授权是一种更加灵活授权方式,能够满足企业对权限最小化安全管控要求。

GaussDB的核心技术_GaussDB金融级高可用_高斯数据库核心技术-华为云

用、便捷运维、弹性伸缩数据库服务,拥有容灾、备份、恢复、安防、监控、迁移等全面的解决方案。 GaussDB产品详情 立即购买 云数据库GaussDB核心技术 混合负载高性能与弹性扩展 适用于各类银行核心交易系统分布式改造,数据库原生分布式能力可以极大降低改造和迁移工作量。

RPA的概念是什么_RPA优点_RPA技术实现

数字供应链开放平台 盈利分析 我们对这款商品盈利潜力进行了深入分析。通过精确市场定位和合理定价策略,我们确信这款商品将为客户带来良好投资回报。 我们对这款商品盈利潜力进行了深入分析。通过精确市场定位和合理定价策略,我们确信这款商品将为客户带来良好投资回报。 Sarpa 数字供应链开放平台

TMS技术公司_TMS和IMS的区别_物流系统TMS

华为线上海量技术学习资源。每个账号拥有半年使用期。教学课程和实验等线上学习资源可以帮助企业员工更加深入地掌握软件开发技术理论和开发技能,为企业软件开发提供坚实有效辅助支持。 总结:上海微众信息科技有限公司线上技术咨询服务,以专业团队、高效服务、优质技术,助力企业

防火墙技术是什么_防火墙技术有什么分类

降低业务升级带来部署和运维成本,避免服务中断带来风险 建议搭配使用 漏洞扫描服务 VSS 企业主机安全 HSS 防CC攻击 网站被发起大量恶意CC请求,长时间占用核心资源,导致网站业务响应缓慢或无法正常提供服务 能够做到 配置灵活 可根据IP或者Cookie设置灵活限速策略,精准识别CC攻击,保障业务稳定运行

SD-WAN_SD-WAN组网_SD-WAN技术_技术支持

够以更低价格提供商品,也使我们客户能够在购买时节省更多费用。 成本效益高 由于我们成功降低了生产成本,这款产品性价比极高。客户可以以较低价格获得高质量商品,从而获得更高满意度。 盈利分析 我们对这款产品盈利潜力进行了深入分析。通过精确市场定位和合理定价策略,

数据可视化技术的发展方向

随着深度学习技术的不断发展,基于语义向量的检索方法通过将文本、图像等非结构化数据映射到高维向量空间,使相似内容在向量空间中距离相近。相比传统的关键词匹配检索,这种语义层面的相似性计算能显著提升召回率和准确率。该技术已成功应用于 图像搜索 、视频内容检索、 人脸识别 、个性化广告推荐等诸多场景,大幅提升了相关应用的实际效果。

本章节为您提供了一个通过Elasticsearch集群实现向量检索的示例,您可以参考此示例了解 CSS 向量 数据库 ,包括创建向量索引、导入向量数据、向量检索等操作。

场景描述

某电商平台希望提升商品搜索的准确率,通过深度学习模型将商品图片转换为语义向量,并结合价格、名称等属性存储至Elasticsearch集群。用户可通过以下方式实现混合搜索:

  • 纯向量检索:查找与目标图片最相似的商品。
  • 过滤检索:在指 定价 格区间内查找相似商品。
  • 组合查询:结合关键词与向量相似度进行搜索。

假设该电商网站经营商品的向量数据如下所示:

{
  "products":[
    {"productName":"2017秋装新款文艺衬衫女装","image_vector":[1.0, 1.0],"price":100.0}
    {"productName":"2017秋装新款文艺衬衫女装","image_vector":[1.0, 2.0],"price":200.0}
    {"productName":"2017秋装新款文艺衬衫女装","image_vector":[1.0, 3.0],"price":300.0}
    {"productName":"2018春装新款牛仔裤女装","image_vector":[10.0, 20.0],"price":100.0}
    {"productName":"2018春装新款牛仔裤女装","image_vector":[10.0, 30.0],"price":200.0}
    {"productName":"2017春装新款休闲裤女装","image_vector":[100.0, 200.0],"price":100.0}
    {"productName":"2017春装新款休闲裤女装","image_vector":[100.0, 300.0],"price":200.0}
  ]
}

操作流程

以下是使用Elasticsearch集群完成数据搜索的操作步骤。

开始迁移数据前,请务必按准备工作指导完成必要操作。

  1. 步骤一:创建Elasticsearch集群:创建一个非安全模式的Elasticsearch集群用于向量检索。
  2. 步骤二:登录Kibana:登录Kibana,访问集群。
  3. 步骤三:创建向量索引:创建向量索引,用于存储向量数据。
  4. 步骤四:导入向量数据:使用开源Elasticsearch API导入数据。
  5. 步骤五:向量检索:在Elasticsearch集群中对数据进行纯向量搜索和组合查询。
  6. 步骤六:删除索引:当不再使用对应的索引数据时,可以删除对应索引节约资源。

准备工作

已注册华为账号并开通华为云,进行了实名认证,且在使用 云搜索服务 前检查账号状态,账号不能处于欠费或冻结状态。

如果您还没有华为账号,请参考以下步骤创建。
  1. 打开华为云网站
  2. 在页面右上角单击“注册”,根据提示信息完成注册。
  3. 勾选服务条款, 单击“开通”。
  4. 实名认证,请参考:

步骤一:创建Elasticsearch集群

创建一个非安全模式的Elasticsearch集群用于向量检索。

  1. 登录 云搜索 服务管理控制台。
  2. 在左侧菜单栏选择集群管理 > Elasticsearch
  3. 在集群列表右上角,单击创建集群,默认进入新版创建页面。
    图1 新版创建页面
  4. 集群配置,选择集群类型和版本。
    表1 集群配置

    参数

    示例

    说明

    集群类型

    Elasticsearch

    选择“Elasticsearch”

    集群版本

    7.10.2

    选择所需的集群版本,支持的版本以界面可选项为准。

    Elasticsearch集群仅7.6.2和7.10.2版本自带 CS S向量搜索引擎,如果要使用CSS向量数据库功能,则必须选择这两个版本。

  5. 基础配置,选择计费模式、当前区域和可用区。
    表2 基础配置

    参数

    示例

    说明

    计费模式

    按需计费

    选择集群的计费模式,集群支持包年/包月和按需计费两种模式。

    • 包年/包月:预付费模式,按照订单的购买周期结算。
    • 按需计费:后付费模式,按照集群实际使用时长计费,计费周期为一小时,不足一小时按一小时计费。

    当前区域

    华北-北京四

    选择集群的所在区域。区域指集群的物理数据中心所在的位置,不同区域的云服务产品之间内网互不相通。建议就近选择靠近您业务的区域,可减少网络时延,提高访问速度。

    可用区

    可用区1

    选择集群工作区域下关联的可用区。可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    最多支持配置3个可用区。

  6. 配置数据节点。
    数据节点用于存储集群数据,当集群未启用Master节点和Client节点时,数据节点将同时承担集群管理、存储数据、提供接入集群和分析数据的职责。此时,为保证集群中数据的稳定性,建议设置节点数量大于等于3个。
    图2 配置数据节点
    表3 数据节点配置

    参数

    示例

    说明

    CPU架构

    X86计算

    选择数据节点的CPU架构。支持“X86计算”“鲲鹏计算”,具体支持的类型由实际区域环境决定。

    节点规格

    ess.spec-4u8g

    选择数据节点的规格。单击“选择节点规格”,在弹窗中选择合适的规格。

    规格列表的“vCPUs | 内存”呈现了规格的CPU核数和内存,“建议存储范围”呈现了该规格支持的存储容量。

    不同区域支持的节点规格不同,请以实际环境为准。

    节点存储类型和容量

    • 高I/O
    • 40GB

    选择数据节点的存储类型和容量。

    • “节点规格”选择的是 云硬盘 时,需要选择云硬盘类型,并根据业务需要配置存储容量。
      • 不同区域支持的云硬盘类型不同,请以实际环境为准。
      • 节点存储容量的取值范围由所选的“节点规格”决定,且必须是20的倍数。
      • 节点存储容量不支持就地缩容,请评估好业务量,合理选择。
    • “节点规格”选择的是本地盘时,无需配置节点存储类型,节点存储容量是固定值,由选择的本地盘规格决定。

    节点数量

    1

    设置集群中的数据节点个数。

    • 当集群配置了Master节点,则数据节点的节点数量支持1~200。
    • 当集群未配置Master节点,则数据节点的节点数量支持1~32。
    • 建议数据节点的节点数量大于或等于3,以提升集群可用性。
  7. Master节点、Client节点和冷数据节点均保持默认值,不启用即可。
    • Master节点负责管理集群中所有节点任务,如集群元数据、索引及分片分配,保障大规模集群稳定运行,适用于需高可用性与集中管控的场景。
    • Client节点负责接收并协调外部请求(如搜索和写入),优化高负载查询和集群扩展性,适用于处理复杂查询和大规模分片场景。
    • 冷数据节点用于存储查询时延要求不高且数据量大的历史数据,适用于大规模数据集存储,有利于优化存储成本和查询性能。
  8. 网络配置,设置集群的 VPC 、IP地址和安全组。
    图3 网络配置
    表4 网络配置

    参数

    示例

    说明

    虚拟私有云

    vpc-default

    指定集群使用的 虚拟专用网络 ,可以对不同业务进行网络隔离

    子网

    subnet-default

    指定集群使用的子网,通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全。

    选择当前虚拟 私有云 下的子网。

    IPv4地址

    自动分配IPv4地址

    分配集群节点的IPv4地址。

    安全组

    default

    指定集群使用的安全组,安全组起着虚拟防火墙的作用,为集群提供安全的网络访问控制策略。

    所选安全组的入方向规则中,“协议端口”必须为“全部”或包含9200的端口范围,否则外部业务访问可能会异常。

  9. 安全模式配置。关闭安全模式,本集群仅做入门指导使用,无需启用安全模式。
    • 安全模式的集群会对集群进行通讯加密和安全认证。
    • 非安全模式的集群无需安全认证即可访问,并且采用HTTP明文传输数据。建议确认访问环境的安全性,勿将访问接口暴露到公网环境上。
  10. 集群管理配置,设置集群名称、企业项目等信息。
    表5 集群管理

    参数

    示例

    说明

    集群名称

    Sample-ESCluster

    自定义集群名称。

    集群名称在4位到32位之间,必须以字母开头,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。

    企业项目

    default

    给集群绑定一个企业项目。

    企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理,默认项目为“default”

    如果开通了“企业项目”,请从下拉列表中选择所在的企业项目。

    标签

    不添加

    为集群添加标签,方便用户识别和管理拥有的集群资源。

    每个集群最多可以设置20个标签。

  11. 设置集群自动备份快照。关闭自动创建集群快照,本集群仅做入门指导使用,无需备份快照。
  12. 终端节点服务等均保持默认值,不启用即可。
  13. 单击“立即创建”,开始创建集群。
  14. 返回集群列表,查看新建的集群。当集群创建成功后,“集群状态”会变为可用
    图4 查看集群状态

步骤二:登录Kibana

集群创建成功后,通过Kibana访问Elasticsearch集群。

  1. 在Elasticsearch集群列表,选择已创建的“Sample-ESCluster”集群,单击操作列中的“Kibana”进入Kibana控制台。
  2. 在Kibana的左侧导航中选择“Dev Tools”,进入Console界面。
    Console左侧区域为输入框,输入框右侧的三角形为执行命令按钮,Console右侧为结果输出区域。
    图5 Console界面

步骤三:创建向量索引

在Elasticsearch集群中创建向量索引,用于存储向量数据。

在Kibana中执行如下命令,创建向量索引“my_store”
PUT /my_store 
{
  "settings": {       		// 索引级别的配置
    "index": {
      "vector": true  		// 启用向量检索功能
    }
  },
  "mappings": {       		// 定义文档字段结构和类型
    "properties": {
      "productName": {    	// 商品名称字段(文本类型)
        "type": "text",   	// 标准文本类型,支持全文搜索
        "analyzer": "ik_smart"  // 使用ik_smart中文分词器进行智能分词
      },
      "image_vector": {   	// 图像特征向量字段
        "type": "vector", 	// 声明为向量类型
        "dimension": 2,   	// 向量维度(示例使用2维,实际场景常用512/768等高维向量)
        "indexing": true, 	// 启用向量索引以支持相似度搜索
        "algorithm": "GRAPH",  	// 使用图算法构建近似最近邻(ANN)索引
        "metric": "euclidean"  	// 使用欧氏距离作为相似度度量标准
      },
      "price": {                // 商品价格字段
        "type": "float"         // 浮点数类型,支持范围查询和数值计算
      }
    }
  }
}

返回结果如下所示:

{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "my_store"
}

步骤四:导入向量数据

Elasticsearch集群支持通过多种方式导入数据,本示例选择在Kibana使用开源Elasticsearch API导入数据。

在Kibana中执行如下命令,将向量数据导入到“my_store”索引中。
POST /my_store/_doc/_bulk
{"index":{}}
{"productName":"2017秋装新款文艺衬衫女装","image_vector":[1.0, 1.0],"price":100.0}
{"index":{}}
{"productName":"2017秋装新款文艺衬衫女装","image_vector":[1.0, 2.0],"price":200.0}
{"index":{}}
{"productName":"2017秋装新款文艺衬衫女装","image_vector":[1.0, 3.0],"price":300.0}
{"index":{}}
{"productName":"2018春装新款牛仔裤女装","image_vector":[10.0, 20.0],"price":100.0}
{"index":{}}
{"productName":"2018春装新款牛仔裤女装","image_vector":[10.0, 30.0],"price":200.0}
{"index":{}}
{"productName":"2017春装新款休闲裤女装","image_vector":[100.0, 200.0],"price":100.0}
{"index":{}}
{"productName":"2017春装新款休闲裤女装","image_vector":[100.0, 300.0],"price":200.0}

当返回结果信息中“errors”字段的值为“false”时,表示导入数据成功。

步骤五:向量检索

在Elasticsearch集群中对数据进行纯向量检索和组合查询。

  • 纯向量检索

    假设用户提供了一张商品图片,想要查找相似商品。首先,集群通过向量化模型获得查询图片的特征向量,然后使用向量查询语法进行相似度查询。

    在Kibana中执行如下搜索命令:

    GET /my_store/_search
    {
      "size": 3,  			// 要求返回前3个最相关的结果
      "_source": { 
        "excludes": "image_vector"  // 排除返回结果中的image_vector字段
      }, 
      "query": {
        "vector": {  		// 启用向量搜索功能
          "image_vector": {  	// 指定目标向量字段名称(需与索引映射一致)
            "vector": [1.0, 2.0],  	// 待查询的特征向量(此处为简化示例,实际维度应与模型输出一致)
            "topk": 3  	        // 返回最相似的3个候选结果
          }
        }
      }
    }

    返回结果如下所示,Elasticsearch根据查询向量与存储的向量数据之间的相似度得分进行结果的排序。

    {
      "took" : 1,  		// 查询耗时1毫秒
      "timed_out" : false,  // 未发生查询超时
      "_shards" : {  	// 分片执行情况
        "total" : 1,  	// 总分片数
        "successful" : 1,  	// 成功执行分片数
        "skipped" : 0,  	// 跳过分片数
        "failed" : 0  	// 失败分片数
      },
      "hits" : {
        "total" : {  	// 匹配文档总数
          "value" : 3,  	// 精确匹配3条(eq表示精确计数)
          "relation" : "eq"
        },
        "max_score" : 1.0,  // 最高相似度得分(取决于向量空间的距离算法)
        "hits" : [  	// 命中文档列表(按相似度得分降序排列)
          {
            "_index" : "my_store",          // 文档所属索引
            "_type" : "_doc",  		// 文档类型,固定取值
            "_id" : "JPL5r5YBWkpNKdSUkRc9",  // 文档唯一标识符
            "_score" : 1.0,  	// 当前文档与查询向量的相似度得分
            "_source" : {  			// 存储的原始文档数据(已过滤image_vector)
              "price" : 200.0,
              "productName" : "2017秋装新款文艺衬衫女装"
            }
          },
          // ...(其他相似结果结构相同,分数递减)
        ]
      }
    }
  • 混合搜索

    假设用户提供了一张商品图片,想要查找相似商品,并且限定了价格范围。可以通过混合查询的语法实现向量检索+范围过滤。

    在Kibana中执行如下搜索命令:

    GET /my_store/_search
    {
      "size": 3,                     // 要求返回前3个最相关的结果
      "_source": { 
        "excludes": "image_vector"   // 排除返回结果中的image_vector字段
      }, 
      "query": {
        "vector": {                  // 启用向量搜索功能
          "image_vector": {          // 指定目标向量字段名称(需与索引映射一致)
            "vector": [1.0, 2.0],    // 待查询的特征向量(此处为简化示例,实际维度应与模型输出一致)
            "topk": 3,               // 返回最相似的3个候选结果
            "filter": {              // 混合过滤条件(先执行过滤再计算相似度)
              "range": {             // 价格范围过滤
                "price": {
                  "lte": 300         // 仅保留价格小于或等于300元的商品
                }
              }
            }
          }
        }
      }
    }

    查询流程:在索引中筛选出所有价格小于或等于300元的商品,计算过滤后商品的image_vector字段与待查询向量的相似度,按相似度分数降序排列(score字段),取top3相似度最高的商品,移除image_vector字段返回,保留商品价格和名称等核心信息。

    返回结果如下所示:

    {
      "took" : 1,			// 查询耗时1毫秒
      "timed_out" : false,	// 查询耗时1毫秒
      "_shards" : {			// 分片执行情况
        "total" : 1,        // 总分片数
        "successful" : 1,   // 成功执行分片数
        "skipped" : 0,      // 跳过分片数
        "failed" : 0        // 失败分片数
      },
      "hits" : {
        "total" : {			// 匹配文档总数
          "value" : 3,      // 精确匹配3条(eq表示精确计数)
          "relation" : "eq"
        },
        "max_score" : 1.0,  // 最高相似度得分(取决于向量空间的距离算法)
        "hits" : [    		// 命中文档列表(按相似度降序排列)
          {
            "_index" : "my_store",  // 文档所属索引
            "_type" : "_doc",       // 文档类型
            "_id" : "JPL5r5YBWkpNKdSUkRc9", // 文档唯一ID
            "_score" : 1.0,         // 当前文档与查询向量的相似度得分(归一化后)
            "_source" : {           // 存储的原始文档数据(已过滤image_vector)
              "price" : 200.0,
              "productName" : "2017秋装新款文艺衬衫女装"
            }
          },
          // ...(其他相似结果结构相同,分数递减)
        ]
      }
    }

步骤六:删除索引

当不再使用对应的索引数据时,可以在Kibana中执行如下命令删除对应索引,避免造成资源浪费。

DELETE /my_store

返回结果如下所示。

{
  "acknowledged" : true
}

后续步骤

已完成数据搜索业务,无需继续使用集群时,可删除集群释放资源。

由于集群删除后,数据无法恢复,请谨慎操作。

  1. 登录云搜索服务管理控制台。
  2. 在左侧菜单栏选择集群管理 > Elasticsearch
  3. 在集群列表,选择“Sample-ESCluster”集群,在操作列单击“更多”>“删除”
  4. 在弹出的确认对话框中,输入“DELETE”,单击“确定”完成操作。

相关文档

数据可视化技术的发展方向常见问题

更多常见问题 >>