本文档介绍 Fess v2 搜索 API。 公共响应信封、错误模型及 CSRF 相关内容,请参阅 API 概述。
基础 URL 为 http://<Server Name>/api/v2/(本地环境示例:http://localhost:8080/api/v2)。
搜索文档
请求
| HTTP 方法 | GET |
| 端点 | /api/v2/search |
搜索匹配查询的文档,并以公共信封格式返回结果。 载荷中的所有字段名均使用 snake_case。
请求参数
表: 请求参数
响应
成功时(200),以下字段会在公共信封的 response 下直接返回。
各字段说明如下。
表: 响应字段
错误响应
错误模型详情请参阅 API 概述。该端点返回的 HTTP 状态码如下。
| 状态码 | 说明 |
| 400 Bad Request | 请求不合法时。 |
| 405 Method Not Allowed | 不允许使用该 HTTP 方法时。 |
| 500 Internal Server Error | 发生服务器内部错误时。 |
表: 错误响应
全量文档获取(滚动搜索·NDJSON)
请求
| HTTP 方法 | GET |
| 端点 | /api/v2/documents/all |
以 NDJSON(application/x-ndjson)流式传输所有匹配查询的文档。 每行为 {"data":{...}} 对象,包含 QueryFieldConfig#isApiResponseField 允许的字段。
当流中途失败时,最后一行会输出并刷新以下内容:
因此,客户端必须检查最后一行的第一个键,以区分正常完成(data)还是服务器异常(error)。
查询使用与 GET /search 相同的参数集(q、sort、num、lang、ex_q、sdh、fields.*、as.*、track_total_hits、facet.*、geo.*)构建。 若 api.search.scroll=false 禁用了滚动搜索,则返回 invalid_request(400)。
请求参数
规范中明确列出的参数如下。
表: 请求参数
响应
成功时(200),Content-Type 为 application/x-ndjson,每行返回一条文档,格式如下。
错误响应
错误模型详情请参阅 API 概述。该端点返回的 HTTP 状态码如下。
| 状态码 | 说明 |
| 400 Bad Request | 查询不合法、num <= 0,或 api.search.scroll=false 禁用了滚动搜索时。 |
| 405 Method Not Allowed | 不允许使用该 HTTP 方法时。 |
| 500 Internal Server Error | 发生服务器内部错误时。 |
表: 错误响应