# 文档搜索

该接口用于根据搜索关键词（query）对当前用户可见的云文档进行搜索

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.larksuite.com/open-apis/search/v2/doc_wiki/search
HTTP Method | POST
接口频率限制 | [100 次/分钟](https://open.larksuite.com/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用** | 搜索云文档(search:docs:read)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.larksuite.com/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | 是 | **固定值**："application/json; charset=utf-8"

### 请求体

名称 | 类型 | 必填 | 描述
---|---|---|---
query | string | 是 | 搜索关键词（query至少搭配一种doc/wiki筛选器）<br>**示例值**："Lark文档使用指南"<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50` 字符
doc_filter | doc_filter | 否 | 文档过滤参数（doc_filter与wiki_filter至少传一个）<br>**示例值**：{"folder_tokens": ["fld_123456"]}
creator_ids | string\[\] | 否 | 文档所有者OpenID<br>**示例值**：["ou_789012"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `20`
doc_types | string\[\] | 否 | 文档类型<br>**示例值**：["SHORTCUT"]<br>**可选值有**：<br>- DOC：文档<br>- SHEET：表格<br>- BITABLE：多维表格<br>- MINDNOTE：思维导图<br>- FILE：文件<br>- WIKI：wiki<br>- DOCX：新版文档<br>- FOLDER：space文件夹<br>- CATALOG：wiki2.0文件夹<br>- SLIDES：新版本幻灯片<br>- SHORTCUT：快捷方式<br>**数据校验规则**：<br>- 长度范围：`0` ～ `10`
folder_tokens | string\[\] | 否 | 搜索文件夹内的文档（文件夹token列表）<br>注：如果存在该字段则wiki筛选器失效<br>**示例值**：["fld_123456"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
only_title | boolean | 否 | 仅搜文档标题<br>**示例值**：false<br>**默认值**：`false`
open_time | time_range | 否 | 浏览文档的时间范围（秒级时间戳，包含start和end字段）
start | int | 否 | 时间范围的起始时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
end | int | 否 | 时间范围的截止时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
sort_type | string | 否 | 排序方式<br>**示例值**："CREATE_TIME"<br>**可选值有**：<br>- DEFAULT_TYPE：默认排序<br>- OPEN_TIME：User打开时间排序<br>- EDIT_TIME：User编辑时间降序<br>- EDIT_TIME_ASC：User编辑时间升序<br>- ENTITY_CREATE_TIME_ASC：实体创建时间升序（已废弃）<br>- ENTITY_CREATE_TIME_DESC：实体创建时间降序（已废弃）<br>- CREATE_TIME：按文档创建时间排序<br>- CREATE_TIME_ASC：按文档创建时间正序（该排序暂不支持）
create_time | time_range | 否 | 文档创建的时间范围（秒级时间戳，包含start和end字段）
start | int | 否 | 时间范围的起始时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
end | int | 否 | 时间范围的截止时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
wiki_filter | wiki_filter | 否 | Wiki过滤参数（doc_filter与wiki_filter至少传一个）<br>**示例值**：{"creator_ids": ["ou_789012"], "space_ids": ["space_123456"]}
creator_ids | string\[\] | 否 | Wiki所有者OpenID<br>**示例值**：["ou_7890123456abcdef"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `20`
doc_types | string\[\] | 否 | Wiki类型<br>**示例值**：["SHORTCUT"]<br>**可选值有**：<br>- DOC：文档<br>- SHEET：表格<br>- BITABLE：多维表格<br>- MINDNOTE：思维导图<br>- FILE：文件<br>- WIKI：维基<br>- DOCX：新版文档<br>- FOLDER：space文件夹<br>- CATALOG：wiki2.0文件夹<br>- SLIDES：新版本幻灯片<br>- SHORTCUT：快捷方式<br>**数据校验规则**：<br>- 长度范围：`0` ～ `10`
space_ids | string\[\] | 否 | 搜索某个Space下的Wiki（Space ID列表）<br>**示例值**：["space_1234567890fedcba"]<br>**数据校验规则**：<br>- 长度范围：`0` ～ `50`
only_title | boolean | 否 | 仅搜Wiki标题<br>**示例值**：false<br>**默认值**：`false`
open_time | time_range | 否 | 浏览文档的时间范围（秒级时间戳，包含start和end字段）
start | int | 否 | 时间范围的起始时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
end | int | 否 | 时间范围的截止时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
sort_type | string | 否 | 排序方式<br>**示例值**："CREATE_TIME"<br>**可选值有**：<br>- DEFAULT_TYPE：默认排序<br>- OPEN_TIME：User打开时间排序<br>- EDIT_TIME：User编辑时间降序<br>- EDIT_TIME_ASC：User编辑时间升序<br>- ENTITY_CREATE_TIME_ASC：实体创建时间升序（已废弃）<br>- ENTITY_CREATE_TIME_DESC：实体创建时间降序（已废弃）<br>- CREATE_TIME：按文档创建时间排序<br>- CREATE_TIME_ASC：按文档创建时间正序（该排序暂不支持）
create_time | time_range | 否 | Wiki创建的时间范围（秒级时间戳，包含start和end字段）
start | int | 否 | 时间范围的起始时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
end | int | 否 | 时间范围的截止时间戳<br>**示例值**：1742348544<br>**数据校验规则**：<br>- 取值范围：`0` ～ `9223372036854775807`
page_token | string | 否 | 分页标记，第一次请求不填，表示从头开始遍历；分页查询结果还有更多项时会同时返回新的 page_token，下次遍历可采用该 page_token 获取查询结果<br>**示例值**："token_1234567890fedcba"
page_size | int | 否 | 分页大小<br>**示例值**：15<br>**默认值**：`0`<br>**数据校验规则**：<br>- 取值范围：`0` ～ `20`

### 请求体示例
```json
{
    "query": "Lark文档使用指南",
    "doc_filter": {
        "creator_ids": [
            "ou_789012"
        ],
        "doc_types": [
            "SHORTCUT"
        ],
        "folder_tokens": [
            "fld_123456"
        ],
        "only_title": false,
        "open_time": {
            "start": 1742348544,
            "end": 1742348544
        },
        "sort_type": "CREATE_TIME",
        "create_time": {
            "start": 1742348544,
            "end": 1742348544
        }
    },
    "wiki_filter": {
        "creator_ids": [
            "ou_7890123456abcdef"
        ],
        "doc_types": [
            "SHORTCUT"
        ],
        "space_ids": [
            "space_1234567890fedcba"
        ],
        "only_title": false,
        "open_time": {
            "start": 1742348544,
            "end": 1742348544
        },
        "sort_type": "CREATE_TIME",
        "create_time": {
            "start": 1742348544,
            "end": 1742348544
        }
    },
    "page_token": "token_1234567890fedcba",
    "page_size": 15
}
```

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
total | int | 匹配结果总数（辅助分页参考）
has_more | boolean | 是否还有更多项
res_units | doc_res_unit\[\] | 搜索结果列表
title_highlighted | string | 标题高亮
summary_highlighted | string | 摘要高亮
entity_type | string | 结果类型<br>**可选值有**：<br>- DOC：doc实体<br>- WIKI：wiki类型
result_meta | doc_meta | 文档搜索元信息
doc_types | string | 文档类型<br>**可选值有**：<br>- DOC：文档<br>- SHEET：表格<br>- BITABLE：多维表格<br>- MINDNOTE：思维导图<br>- FILE：文件<br>- WIKI：维基<br>- DOCX：新版文档<br>- FOLDER：space文件夹<br>- CATALOG：wiki2.0文件夹<br>- SLIDES：新版本幻灯片<br>- SHORTCUT：快捷方式
update_time | int | 更新时间戳（秒）
url | string | 文档链接
owner_name | string | 所有者名称
owner_id | string | 所有者OpenID
is_cross_tenant | boolean | 是否跨租户
create_time | int | 文档创建时间戳（秒）
last_open_time | int | 上次打开时间戳（秒）
edit_user_id | string | 最后一次编辑用户OpenID
edit_user_name | string | 最后一次编辑用户名称
token | string | 文档token
page_token | string | 分页标记，当 has_more 为 true 时，会同时返回新的 page_token，否则不返回 page_token

### 响应体示例
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "total": 100,
        "has_more": true,
        "res_units": [
            {
                "title_highlighted": "<h>Lark文档</h>使用指南",
                "summary_highlighted": "本文介绍<h>Lark文档</h>的创建、编辑与分享功能",
                "entity_type": "DOC",
                "result_meta": {
                    "doc_types": "SHORTCUT",
                    "update_time": 1766567446,
                    "url": "https://www.feishu.cn/docs/dox-1234567890abcdef",
                    "owner_name": "张三",
                    "owner_id": "ou-7890123456abcdef",
                    "is_cross_tenant": false,
                    "create_time": 1766567446,
                    "last_open_time": 1766567446,
                    "edit_user_id": "ou-1122334455aabbcc",
                    "edit_user_name": "李四",
                    "token": "dox_9876543210fedcba"
                }
            }
        ],
        "page_token": "token_1234567890fedcba"
    }
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
400 | 1274001 | invalid param: missing required fields | 检查请求头和请求体中是否包含必要的认证信息且字段是否完整
400 | 1274002 | invalid param: illegal enum value | 验证枚举字段的值是否符合定义的合法枚举范围
401 | 1274011 | user_access_token is invalid or expired | 检查user_access_token是否正确或过期
429 | 1277001 | rate limit exceeded | 检查当前请求频率是否超过接口限制阈值

