功能描述
用于搜索目录与文件。
接口说明
使用本接口发起异步搜索任务时,接口将在大约2s的时间返回,如果在返回时有部分或全部搜索结果,则返回已搜索出的结果的第一页(每页20个),如果暂未搜索到结果则返回空数组,因此该接口实际返回的 contents 数量可能为0到20之间不等,且是否还有更多搜索结果,不应参考 contents 的数量,而应参考 hasMore 字段。
当需要获取后续页时,使用 继续获取搜索结果 接口。
请求
请求示例
POST /api/v1/search/
{LibraryId}
/{SpaceId}
/space-contents?access_token={AccessToken}
&user_id={UserId}
请求参数:
LibraryId: 媒体库 ID,必选参数。
SpaceId: 空间 ID,必须指定该参数,如果媒体库为单租户模式,则该参数固定为连字符(
-
)。AccessToken: 访问令牌,必选参数。
UserId: 用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅 生成访问令牌接口,可选参数。
请求体
application/json,指定搜索的条件。
请求体示例:
{"keyword": "身份证","scope": "个人文件/证件","type": "image","tags":[{"id": 2,"value": "15.5"}]}
请求体字段说明:
keyword:搜索关键字,可使用空格分隔多个关键字,关键字之间为“或”的关系并优先展示匹配关键字较多的项目。
tags:搜索标签,可多选,可选参数。
id:标签 ID,必选参数。
value:标签值,可选参数,用于键值对标签,如:标签名 iOS 标签值 13.2,搜索特定版本标签。
scope:搜索范围,指定搜索的目录,可选参数,如搜索根目录可指定为空字符串、“/”或不指定该字段。
extname: 搜索文件后缀,可选参数,字符串数组。
type:搜索类型,可选参数,字符串或字符串数组,可反选(!)。当前支持的类型包括:
all: 搜索所有类型文件和文件夹,当不传 type 或传空时默认为 all;
dir: 仅搜索目录,不搜索文件,反选时传 !dir;
file: 仅搜索所有类型文件,不搜索目录,反选时传 !file;
doc、xls 或 ppt: 仅搜索 Word、Excel 或 Powerpoint 类型文档,对应的文件扩展名为 .doc(x)、.xls(x) 或 .ppt(x),反选时传 !doc、!xls 或 !ppt;
pdf 或 txt: 仅搜索 PDF 或纯文本类型文档,对应的文件扩展名为 .pdf 或 .txt,支持反选,反选时传 !pdf 或 !txt;
image、video 或 audio: 仅搜索图片、视频或音频类型文件,对应的文件 MIME(Content Type)分别为 image/、video/ 或 audio/*,反选时传
!image
、!video
或 !audio
;powerpoint: 仅搜索演示文稿,如 .ppt、.pptx、.pot、.potx 等,反选时传 !powerpoint;
excel: 仅搜索表格文件,如 .xls、.xlsx、.ett、.xltx、.csv 等,反选时传 !excel;
word: 仅搜索文档,如 .doc、.docx、.dot、.wps、.wpt 等,反选时传 !word;
text: 仅搜索纯文本,如 .txt、.asp、.htm 等,反选时传 !text。
creators: 搜索创建/更新者,可选参数,对象数组。
userId: 创建/更新者用户 ID。
minFileSize/maxFileSize: 搜索文件大小范围,整数,单位 Byte,均为可选参数。
modificationTimeStart/modificationTimeEnd: 搜索更新时间范围,时间戳字符串,与时区无关,均可选参数。
orderBy:排序字段,可选参数,当前支持按名称、修改时间、文件大小、创建时间排序具体类型如下:
name:按名称排序。
modificationTime:按修改时间排序。
size:按文件大小排序。
creationTime:按创建时间排序。
orderByType:排序方式,升序为 asc,降序为 desc,可选参数。
响应
响应码
搜索成功,返回 HTTP 200 OK。
响应体
application/json
响应体示例:
{"searchId": "FnMwV3NweXJOU2hTOTRpTnF0TW9EZVEeVUFhYUl5TGFSaTZtZUpDcEpUcEtxdzo3NjQ3NjU1","hasMore": true,"nextMarker": 20,"contents": [{"type": "file","name": "api.zip","creationTime": "2021-08-19T04:40:01.000Z","modificationTime": "2021-08-19T04:40:01.000Z","contentType": "application/zip","size": "67084","eTag": "\\"52c2d19d61fae57d11caabe87f71de73\\"","crc64": "8970780629994048831","versionId":2,"metaData": {"x-smh-meta-creation-date": "Thu, 19 Aug 2021 04:39:59 GMT"},"path": [],"userId": "12"},{"type": "file","name": "bmw (1).PDF","creationTime": "2021-08-21T07:56:32.000Z","modificationTime": "2021-08-21T07:56:32.000Z","contentType": "application/pdf","size": "241674","eTag": "\\"030ca96f0af3b3d3cfbf31c2be3129d6\\"","crc64": "12098979488941977387","metaData": {"x-smh-meta-creation-date": "Sat, 21 Aug 2021 07:56:30 GMT"},"path": [],"userId": "12"},{"type": "file","name": "bmw.pdf","creationTime": "2021-08-17T13:19:07.000Z","modificationTime": "2021-08-17T13:19:07.000Z","contentType": "application/pdf","size": "241674","eTag": "\\"030ca96f0af3b3d3cfbf31c2be3129d6\\"","crc64": "12098979488941977387","metaData": {"x-smh-meta-creation-date": "Tue, 17 Aug 2021 13:19:06 GMT"},"path": [],"userId": "12"},{"type": "dir","name": "fysn","creationTime": "2021-08-20T10:01:40.000Z","modificationTime": "2021-08-21T07:30:25.000Z","path": [],"userId": "12"},{"type": "file","name": "智能媒资托管-144px (1).png","creationTime": "2021-08-20T09:59:25.000Z","modificationTime": "2021-08-20T09:59:25.000Z","contentType": "image/png","size": "7199","eTag": "\\"7d9ce6ef46c00d3924702b7b4224d029\\"","crc64": "13076174829147183381","metaData": {"x-smh-meta-creation-date": "Fri, 20 Aug 2021 09:59:22 GMT"},"path": ["fysn"],"previewByDoc": true,"previewByCI": true,"previewAsIcon": true,"fileType": "powerpoint","modifierName": "Jim","userId": "12"}/* ... */]}
响应体字段说明:
searchId:搜索任务 ID,用于异步获取搜索结果。
hasMore:布尔型,是否有更多搜索结果。
nextMarker:用于获取后续页的分页标识,仅当 hasMore 为 true 时才返回该字段。
contents:第一页搜索结果,可能为空数组,有关异步搜索的说明请参见 接口说明。
type:字符串,条目类型:
dir
:目录或相簿。file
:文件,仅用于文件类型媒体库。image
:图片,仅用于媒体类型媒体库。video
:视频,仅用于媒体类型媒体库。symlink
:符号链接。name: 字符串,目录或相簿名或文件名。
spaceTag: 字符串,非必返。
creationTime: ISO 8601格式的日期与时间字符串,表示目录或相簿的创建时间或文件的上传时间,例如 2020-10-14T10:17:57.953Z。
modificationTime: 文件最近一次被覆盖的时间,或者目录内最近一次增删子目录或文件的时间。
contentType: 媒体类型。
versionId: 版本号。
size: 文件大小,为了避免数字精度问题,这里为字符串格式。
eTag: 文件 ETag。
crc64: 文件的 CRC64-ECMA182 校验值,为了避免数字精度问题,这里为字符串格式。
metaData: 文件元数据信息。
path: 当前项目所在的目录,包含当前项目的 name。
userId: 创建/更新者 user ID。
previewByDoc: 是否可通过 wps 预览。
previewByCI: 是否可通过万象预览。
previewAsIcon: 是否可使用预览图当做 icon。
fileType: 文件类型:excel、powerpoint 等。
modifierName: 字符串,更新者昵称。