媒资搜索协议

媒资搜索协议是集检索、过滤、排序和翻页于一体的实时搜索协议,用于搜索视频点播生产的视频、音频和图片等媒资信息。本文主要介绍了如何根据媒资搜索协议设置查询语句,通过SearchMedia接口的Match字段实现在视频点播中进行指定返回字段、精确匹配、模糊匹配、多值查询、范围查询、排序字段等多方式多维度的搜索。

查询语法:Syntax

根据媒资搜索协议中定义的语法规则将媒资字段分为返回字段,精确匹配,模糊匹配,多值查询,范围查询和排序字段。视频点播支持的所有媒资字段及适用的语法规则请参见媒资信息

重要

调用OpenAPI接口时,需要对查询语句进行URL编码,同时查询语句中使用的等号、双引号、单引号、括号必须为英文半角。搜索协议中包含的特殊字符说明详见特殊字符说明

以下为媒资搜索协议定义的语法及示例:

名称

含义

语法

示例

返回字段

指定搜索返回结果中包含哪些字段,默认只返回媒体ID,创建时间和媒体类型。

field1,field2

返回字段

精确匹配

用于搜索与指定字段值完全相等的文档。

field = value

精确匹配

模糊匹配

搜索包含指定字符或字符串的文档。

field in ('value1','value2') 或 field = 'value'

模糊匹配

多值查询

可以指定多个字段进行过滤,只要命中其中一个字段值的文档即返回。

field in ('value1','value2')

多值查询

范围查询

开闭区间规则,匹配字段值在指定范围内的文档。

field = (value1,value2)

范围查询

排序字段

用于排序搜索结果的字段值,同时需要为每个字段指定排序方向(Desc或Asc)。多个排序字段时,从左至右排序优先级从高至低。

SortBy = field:Desc

排序字段

特殊字符说明

名称

描述

语法

and

位于两个过滤条件之间,表示两个过滤条件同时命中的文档才会返回。

field1 = 'value' and field2 = 'value'

or

位于两个过滤条件之间,表示命中两个过滤条件之一的文档即可返回,此时过滤条件需要以左括号"("开始,右括号")"结束。

(field1 = 'value1' or field2 = 'value2')

( )

括号,范围查询。

field = ('value1','value2')

( )

括号,表示多个查询条件之间的或关系。

(field1 = 'value1' or field2 = 'value2')

' '

单引号,当指定的查询字段为字符串类型时,字段值需要以单引号开始,单引号结束。

field = 'value'

,

逗号,多值查询使用。用于分隔多个查询值。

field in ('value1','value2')

( ) [ ]

开闭区间规则,表示大于、小于、大于等于、小于等于。范围查询使用,表示边界值的大小关系。

field = ['value1','value2']

in

多值查询使用,当文档中的字段值在所列举的值中时,该文档返回。

field in ('value1','value2')

媒资信息:Media

视频点播目前支持对视频、音频、图片信息和辅助媒资的搜索,各字段支持的查询语法规则如下所示。以下表格中√表示支持,×表示不支持。

重要
  • 多值查询时:最多支持传入3个值。

  • 模糊匹配查询时:支持传入的单个字符串的最大长度为60字符。

  • 当title和其他字段同时模糊查询不能正确命中时,请检查您的格式是否正确。模糊查询示例:(Title='测试' and Description = '描述')

视频信息:Video

名称

类型

描述

返回字段

精确匹配

模糊匹配

多值查询

范围查询

排序字段

VideoId

String

视频ID

×

×

×

AppId

String

应用ID

×

×

×

×

CateId

Long

分类ID

×

×

×

×

CateName

String

分类名称

×

×

×

×

×

StorageLocation

String

存储区域

×

×

×

Title

String

视频标题

×

×

×

×

Tags

String

视频标签

×

×

×

Description

String

视频描述

×

×

×

×

Status

String

状态

×

×

×

×

MediaSource

String

媒体来源

×

×

×

×

PreprocessStatus

String

预处理状态

×

×

×

×

Size

Long

视频大小

×

×

×

×

Duration

Float

视频时长

×

×

×

×

CreationTime

String

视频信息创建时间

×

×

×

ModificationTime

String

视频信息更新时间

×

×

×

CoverURL

String

封面图片

×

×

×

×

×

Snapshots

String[]

自动截图列表

×

×

×

×

×

SpriteSnapshots

String[]

雪碧图列表

×

×

×

×

×

DownloadSwitch

String

下载开关

×

×

×

×

×

TranscodeMode

String

转码模式

×

×

×

×

×

StorageClass

String

分级存储类型

×

×

×

×

音频信息:Audio

名称

类型

描述

返回字段

精确匹配

模糊匹配

多值查询

范围查询

排序字段

AudioId

String

音频ID

×

×

×

×

AppId

String

应用ID

×

×

×

×

CateId

Long

分类ID

×

×

×

×

CateName

String

分类名称

×

×

×

×

×

StorageLocation

String

存储区域

×

×

×

×

Title

String

标题

×

×

×

×

Tags

String

标签

×

×

×

Description

String

描述

×

×

×

×

Status

String

状态

×

×

×

×

MediaSource

String

媒体来源

×

×

×

×

PreprocessStatus

String

预处理状态

×

×

×

×

Size

Long

大小

×

×

×

×

Duration

Float

时长

×

×

×

×

CreationTime

String

创建时间

×

×

×

ModificationTime

String

更新时间

×

×

×

CoverURL

String

封面图片

×

×

×

×

×

Snapshots

String[]

自动截图列表

×

×

×

×

×

SpriteSnapshots

String[]

雪碧图列表

×

×

×

×

×

DownloadSwitch

String

下载开关

×

×

×

×

×

TranscodeMode

String

转码模式

×

×

×

×

×

StorageClass

String

分级存储类型

×

×

×

×

图片信息:Image

名称

类型

描述

返回字段

精确匹配

模糊匹配

多值查询

范围查询

排序字段

ImageId

String

图片ID

×

×

×

×

AppId

String

应用ID

×

×

×

×

CateId

Long

分类ID

×

×

×

×

CateName

String

分类名称

×

×

×

×

×

StorageLocation

String

存储区域

×

×

×

FileName

String

文件名

×

×

×

×

Title

String

标题

×

×

×

×

Tags

String

标签

×

×

×

Description

String

描述

×

×

×

×

Status

String

状态

×

×

×

×

CreationTime

String

创建时间

×

×

×

ModificationTime

String

更新时间

×

×

×

URL

String

图片URL

×

×

×

×

×

辅助媒资信息:AttachedMedia

名称

类型

描述

返回字段

精确匹配

模糊匹配

多值查询

范围查询

排序字段

MediaId

String

辅助媒资ID

×

×

×

×

AppIdString

String

应用ID

×

×

×

×

CateId

Long

分类ID

×

×

×

×

×

Categories

Category[]

分类ID列表

×

×

×

×

×

StorageLocation

String

存储区域

×

×

×

FileName

String

文件名

×

×

×

×

Title

String

标题

×

×

×

×

Tags

String

标签

×

×

×

Description

String

描述

×

×

×

×

Status

String

状态

×

×

×

×

CreationTime

String

创建时间

×

×

×

ModificationTime

String

更新时间

×

×

×

URL

String

辅助媒资URL

×

×

×

×

×

BusinessType

String

业务类型

×

×

×

×

部分参数说明

预处理状态:PreprocessStatus

预处理完成后的视频才可用于直播导播。

取值

描述

备注

UnPreprocess

未进行预处理

初始状态。

Preprocessing

预处理中

无。

PreprocessSucceed

预处理完成

无。

PreprocessFailed

预处理失败

无。

离线下载状态:DownloadSwitch

视频离线下载开关状态,只有状态开启时才允许离线下载。

取值

描述

备注

on

开启

初始状态,允许离线下载。

off

禁用

禁用离线下载。

媒体来源:MediaSource

取值

描述

备注

general

点播上传

普通上传。

short_video

短视频SDK

通过短视频SDK上传文件至点播,更多信息,请参见短视频SDK

editing

剪辑合成

通过云剪辑合成上传文件至点播,更多信息,请参见视频合成

live

直播录制

通过直播录制上传文件至点播。

转码模式:TranscodeMode

文件上传至点播后,经过不同视频处理后才可用于播放。不同转码模式处理的方式不同。

取值

描述

备注

FastTranscode

普通转码

默认模式,上传完成即开始转码,且转码完成才能播放。

NoTranscode

不转码即分发

上传完成不转码,且立即能播放,目前仅以下格式支持不转码直接播放:MP4、FLV、M3U8、MP3、WEBM。

AsyncTranscode

上传即分发并转码

上传完成即能播放,同时异步进行转码。

分级存储类型:StorageClass

取值

描述

备注

Standard

标准存储

整个媒资的音视频类资源(包含源文件、转码后的流文件,不包含截图等资源)存储类型为标准存储。

IA

低频访问

整个媒资的音视频类资源(包含源文件、转码后的流文件,不包含截图等资源)存储类型为低频访问。

Archive

归档存储

整个媒资的音视频类资源(包含源文件、转码后的流文件,不包含截图等资源)存储类型为归档存储。

ColdArchive

冷归档存储

整个媒资的音视频类资源(包含源文件、转码后的流文件,不包含截图等资源)存储类型为冷归档存储。

SourceIA

源文件低频访问

仅媒资的源文件存储类型为低频访问,源文件之外的其他资源的存储类型为标准存储。

SourceArchive

源文件归档存储

仅媒资的源文件存储类型为归档存储,源文件之外的其他资源的存储类型为标准存储。

SourceColdArchive

源文件冷归档存储

仅媒资的源文件存储类型为冷归档存储,源文件之外的其他资源的存储类型为标准存储。

Changing

媒资存储类型变更中

表示媒资的存储类型正在变更中。

SourceChanging

源文件存储类型变更中

表示媒资源文件的存储类型正在变更中。