建立数据索引,利用文件的元数据和向量语义作为查询条件,快速查找OSS中的图片、视频、文档、音频文件。
为什么使用数据索引
传统的文件检索方式存在显著局限性,OSS数据索引能有效弥补这些不足:
传统检索方式 | OSS数据索引 |
操作复杂:需使用ListObject遍历并抽取元数据自建数据库,耗时且繁琐。 | 简单易用:无需搬迁数据或自建检索系统,直接通过自动OSS构建索引进行快速筛选和统计。 |
检索性能低:海量数据下,检索速度慢,效率低下。 | 高性能检索:支持秒级索引和聚合,覆盖百亿级别的文件索引库。 |
检索能力单一:仅支持 OSS 元数据检索。 | 多模态支持:通过内容语义、文件特征化等高级方式满足多样化需求。 |
支持的数据检索方式
OSS支持标量检索和向量检索两种检索方式:
项目 | 标量检索 | 向量检索 |
定义 | 基于OSS元数据、对象ETag、对象标签等元数据属性进行匹配查询 | 通过将文档、图片、视频、音频等文件的信息表示为向量,并利用这些向量进行语义相似性的比较和检索,实现根据文件内容进行语义查询 |
使用场景 | 文件查询、文件统计。 | 多模态检索、复杂文件检索。 |
查询条件示例 | 查询2024年9月14日上传的、私有的、标准存储的文件 | 查询和“苹果”相关的图片 |
返回结果示例 | 返回2024年9月14日上传的、私有的、标准存储的文件列表 | 返回和“苹果”相关的图片文件列表 |
如何选择数据检索方式
检索条件对比表
检索条件 | 标量检索 | 向量检索 |
OSS元数据 | ✅ | ✅ |
对象标签和对象ETag | ✅ | ✅ |
自定义元数据 | ❌ | ✅ |
多媒体元数据 | ❌ | ✅ |
向量语义 | ❌ | ✅ |
关于标量检索支持的所有元数据字段,请参见附录:标量检索的字段和操作符列表。
关于向量检索支持的所有元数据字段,请参见附录:向量检索的字段和操作符列表。
典型使用场景推荐
降本统计
通过OSS元数据(如时间戳)筛选业务中无用或可沉降数据,从而优化存储成本。
推荐使用标量检索。
数据验证
对OSS数据进行处理或清洗后,使用OSS元数据对比清洗前后的数据量、文件大小等,验证清洗效果。
推荐使用标量检索。
数据审计
为了满足合规要求,您可以结合OSS元数据和向量语义,对文件内容进行深度统计和审计。
推荐使用向量检索。
多模态检索
基于多媒体数据和向量语义进行检索,适用于聊天记录检索、媒资库内容检索、语义检索等场景。
推荐使用向量检索。
如何进行数据检索
对OSS中的数据进行标量检索和向量检索的流程如下:
进行标量检索
对OSS中的文件基于元数据属性进行查询的流程如下图所示:
应用上传图片、视频、文档、音频等文件到OSS Bucket。
具备OSS管理权限的RAM用户为Bucket开启数据索引,并选择标量检索。
OSS使用系统默认的索引表结构,自动建立包含OSS元数据、对象ETag、对象标签的数据索引。
应用调用DoMetaQuery接口基于元数据属性进行查询。
OSS返回满足查询条件的文件列表。
进行向量检索
对OSS中的文件基于元数据属性和向量语义进行组合查询的流程如下图所示:
应用上传图片、视频、文档、音频等文件到OSS Bucket。
具备OSS管理权限的RAM用户为Bucket开启数据索引,并选择向量检索。
OSS使用系统默认的索引表结构和Embedding向量化模型,自动建立包含OSS元数据、对象ETag、对象标签、自定义元数据、多媒体元数据、向量语义的数据索引。
应用调用DoMetaQuery接口基于元数据属性和向量语义进行组合查询。
OSS返回满足查询条件的文件列表。
开始进行数据检索
进行标量检索和向量检索的详细步骤请参见:
对于不同的应用场景,您可以参考以下教程示例:
统计场景:请参见教程示例:使用OSS数据索引进行大规模数据统计
多模态检索场景:请参见教程示例:使用OSS数据索引进行多模态检索