使用向量检索通过语义内容及多媒体特性快速查找文件

通过OSS向量检索,您可以基于语义内容、OSS元数据、多媒体元数据、对象ETag及标签和自定义元数据等条件,快速定位海量Object中的目标文件,优化检索效率。

使用场景

个人及企业办公场景

向量检索可以通过特定语义内容直接对办公文件进行搜索,例如直接搜索“ERP 系统使用方式”、“IT 维修流程”、“2024 年经营情况分析”等关键词,以实现文件搜索方式的便捷化,从而提升办公效率。

多媒体社交场景

在多媒体社交场景中,您可以利用检索能力,为您的用户提供特定内容和多媒体数据检索功能。例如,在某款社交应用程序中,用户上传了大量图片数据。通过语义检索,用户可以直接根据内容进行图片搜索,比如直接搜索内容为“郊外春游”、“春节团聚”、“我见过的大海”等照片,从而为应用程序增加实用性和趣味性。

网盘场景

在网盘场景中,目前大多数提供基于标量检索的文件搜索功能,例如按文件名称、创建时间或文件后缀进行搜索。网盘通常应用于个人或企业场景,用户可以利用向量检索功能,对网盘中的特定内容进行搜索,比如相关文档或相册中的相关图片。

视频监控场景

针对视频监控存储的数据,企业可以利用向量检索能力对监控数据中的部分文件进行搜索。比如输入“雪天户外监控”、“晴天中的果园”等关键词,即可对相应文件进行检索。

注意事项

  • 地域限制

    华南3(广州)地域的Bucket支持使用向量检索功能。

  • Bucket限制

    向量检索支持文件数量最多100亿的Bucket。对于文件数量不超过1亿的Bucket,您可以直接启用此功能;而当文件数量超过1亿时,请联系技术支持申请开通。

  • 费用说明

    向量检索目前是公测阶段。使用向量检索功能会产生Object的元数据管理费用以及检索次数费用,但公测期间暂不收费。关于数据索引计费项的更多信息,请参见数据索引费用

  • 建立索引所需时间

    开启向量检索功能时,建立索引所需时间与Bucket内存量的文件数量成正比。文件数量越多,建立索引的时间越长。 一般来说,1000万个文件初次建立索引的时间约为1小时,10亿个文件初次建立索引的时间约为1天,100亿个文件初次建立索引的时间约为2~3天,该时间仅供参考。

  • 分片上传

    对于通过分片上传生成的Object,查询结果中只显示已通过CompleteMultipartUpload操作将碎片(Part)合成的完整Object,不显示已初始化但未完成(Complete)或者未中止(Abort)的碎片。

操作步骤

使用OSS控制台

以查询内容为“发光的建筑”、格式为JPG、图片宽高在800*1200内的文件为例进行演示,期望检索结果为下图“江边的夜景.jpg”。

江边的夜景

  1. 登录OSS管理控制台

  2. 单击Bucket 列表,然后单击目标Bucket名称。

  3. 在左侧导航栏, 选择文件管理 > 数据索引

  4. 数据索引页面,单击立即开启

  5. 选择向量检索,单击确认开启

    说明

    构建元数据索引需要等待一定的时间,具体等待时长取决于Bucket中Object的数量。若开启时间过久可通过刷新来查看开启状态。

  6. 设置检索条件,其他参数保留默认设置。

    • 语义内容区域填写对该图片的描述,例如:发光的建筑。image

    • 多媒体类型选择图片

      • 图片格式选择 JPG/JPEG。

      • 图片宽度设置小于800px。

      • 图片高度设置小于1200px。

      image

  1. 单击立即查询。查询结果符合预期,按照特征描述成功查询到该文件。

    image

如需了解完整的检索条件和输出设置,请参见检索条件和输出设置

使用REST API

如果您的程序自定义要求较高,您可以直接发起REST API请求。直接发起REST API请求需要手动编写代码计算签名。更多信息,请参见DoMetaQuery

检索条件和输出设置

检索条件设置

以下是完整的检索条件,您可以根据需要设置单个或多个检索条件。

OSS元数据检索条件

检索条件

说明

存储类型

您可以按需选择希望在查询结果中显示的Object存储类型。

  • 已选择语义内容检索条件:只支持检索标准存储、低频存储。

  • 未选择语义内容检索条件:默认支持检索标准、低频访问、归档、冷归档和深度冷归档多种存储类型。

读写权限

默认选中OSS支持的四种读写权限ACL,即继承Bucket、私有、公共读以及公共读写。您可以按需选择希望在查询结果中显示的Object读写权限。

文件名

支持模糊匹配等于。如果您希望在查询结果中显示某个文件名,例如exampleobject.txt。您可以通过以下两种方式匹配目标文件:

  • 选择等于,然后输入完整的文件名称exampleobject.txt

  • 选择模糊匹配,然后输入文件前缀或者后缀,例如example或者.txt

    重要

    模糊匹配可命中Object名称的任意字符,例如输入test,则查询结果中将显示localfolder/test/.example.jpglocalfolder/test.jpg等。

上传类型

默认选中OSS支持的四种Object类型,您可以按需选择希望在查询结果中显示的Object类型。Object类型说明如下:

  • Normal:通过简单上传方式生成的Object。

  • Multipart:通过分片上传方式生成的Object。

  • Appendable:通过追加上传方式生成的Object。

  • Symlink:为快速访问Object创建的软链接。

最后修改时间

指定Object被最后修改的起始日期结束日期,时间精确到秒。

文件大小

支持等于大于大于等于小于小于等于五种筛选条件,文件大小单位为KB。

对象版本

仅支持查询当前版本Object。

对象Etag及标签检索条件

如需根据对象Etag及标签进行过滤查找,可输入您希望在查询结果中显示的Object对应的ETag或标签信息。

  • ETag仅支持精确匹配。ETag必须带引号,示例值为"5B3C1A2E0563E1B002CC607C6689"。可输入多个ETag,每行一个。

  • 以键值对(Key-Value)的形式指定对象标签。对象标签的Key和Value均区分大小写。关于标签规则的更多信息,请参见对象标签

多媒体元数据检索条件

您可以通过图片文档音频视频的特定属性来过滤得到您期望的结果。

检索条件

说明

图片

  • 支持筛选多种图片格式:JPG/JPEG、PNG、APNG、BMP、GIF、WEBP、TIFF、HEIC、HEIC-SEQUENCE、AVIF

  • 图片宽高:允许设置宽高范围,单位px。

文档

  • 支持筛选多种文档格式:DOC、DOCX、PPTX、PPT、XLS、XLSX、PDF、RTF、TXT、LOG、XML、HTML

视频

  • 支持筛选多种视频格式:AVI、 MPEG、 MPG、 RM、 MOV、WMV、 3GP、 MP4、 FLV、 MKV、 TS

  • 视频分辨率:允许设置视频分辨率范围单位px。

  • 视频时长:允许设置时长范围,单位s。

  • 视频码率:允许设置码率范围,单位kbps。

音频

  • 支持筛选多种音频格式:MP3、 WMA、 OGG、 RA、 MIDI、 AIF/AIFF、 M4A、MKA、 MP2

  • 音频时长:允许设置时长范围,单位s。

语义内容检索条件

您可以通过输入内容语义,快速检索获取其相关的图片、文档、视频或音频资源。

  • 自定义搜索相关内容的文件,长度限制:40字符。如搜索“雪中故宫照片”、“无线打印机的使用方式”等。

  • 语义内容检索使用限制。

    • 不支持设置对象排列数据聚合输出方式

    • 必须勾选一组并且只能勾选一组多媒体元数据检索条件。

    • 不支持查找使用KMS自带密钥BYOK加密的Object。

自定义元数据检索条件

您可以通过输入元数据的键值对,利用自定义元数据精确检索结果。

  • 以键值对(Key-Value)的形式指定对象元数据。关于自定义元数据的更多信息,请参见管理文件元数据

  • 支持添加多选(Key,Value 都必填),最多自定义20个。

结果输出设置

您可对输出结果进行排序和简单统计。

  • 对象排序方式:支持根据最后修改时间、文件名和文件大小进行升序、降序及默认排序。您可以按需选择并排序检索结果,便于快速找到所需文件。

  • 数据聚合:支持多种输出类型,您可以对检索结果进行去重统计、分组计数、最大值、最小值、平均值和求和等计算,便于高效分析和管理数据。

常见问题

为什么文件上传后,无法立即检索到?

文件上传后,对应文件的索引生成需要一定时间,所以查询结果会有一定程度的延迟,可能无法立即得到查询结果,等待片刻后重试即可。