简介
本文档提供关于搜索文件/目录的 API 概览以及 SDK 示例代码。
SDK API 参考
搜索目录与文件
功能说明
初始化搜索,可能会返回一定量的搜索结果。
示例代码
QCloudSMHInitiateSearchRequest *req = [QCloudSMHInitiateSearchRequest new];// 媒体库 ID,必选参数req.libraryId = @"libraryId"// 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数req.spaceId = @"spaceId";// 搜索范围,指定搜索的目录,如搜索根目录可指定为空字符串、“/”或不指定该字段req.scope = scopeDir.totalPath;// 搜索关键字,可使用空格分隔多个关键字,关键字之间为“或”的关系并优先展示匹配关键字较多的项目;req.keyword = @"keyWord";// 搜索类型,字符串或字符串数组 QCloudSMHSearchTypereq.searchTypes = @[@(type)];[req setFinishBlock:^(QCloudSMHSearchListInfo *_Nullable result, NSError *_Nullable error) {}];[[QCloudSMHService defaultSMHService] initSearch:req];
继续获取搜索结果
功能说明
继续获取搜索结果。
示例代码
QCloudSMHResumeSearchRequest *req = [QCloudSMHResumeSearchRequest new];// 媒体库 ID,必选参数req.libraryId = self.userModel.libraryId;// 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数req.spaceId = scopeDir.teamInfo.spaceId;// 搜索任务 ID 初始化搜索时返回req.searchId = searchId;// 分页标识,创建搜索任务时或继续获取搜索结果时返回的 nextMarker 字段;req.nextMarker = nextMarker;[req setFinishBlock:^(QCloudSMHSearchListInfo *_Nullable result, NSError *_Nullable error) {}];[[QCloudSMHService defaultSMHService] resumeSearch:req];
删除搜索
功能说明
用于删除搜索任务。
示例代码
QCloudSMHAbortSearchRequest *req = [QCloudSMHAbortSearchRequest new];// 媒体库 ID,必选参数req.libraryId = self.userModel.libraryId;// 空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数req.spaceId = scopeDir.teamInfo.spaceId;// 搜索任务 IDreq.searchId = @"searchId";[req setFinishBlock:^(QCloudSMHSearchListInfo *_Nullable result, NSError *_Nullable error) {if (error) {[liveData postError:error];return;} else {[liveData postValueAndComplete:searchId];}}];[[QCloudSMHService defaultSMHService] abortSearch:req];