Commit 12ac6559e39c109d0aaf4f980c68bd9728be1602
1 parent
a00c3672
接口文档
Showing
1 changed file
with
14 additions
and
107 deletions
Show diff stats
API_DOCUMENTATION.md
| ... | ... | @@ -14,40 +14,14 @@ |
| 14 | 14 | |
| 15 | 15 | ## 基础信息 |
| 16 | 16 | |
| 17 | -- **Base URL**: `http://your-domain:6002` | |
| 17 | +- **Base URL**: `http://your-domain:6002` (http://120.76.41.98:6002) | |
| 18 | 18 | - **协议**: HTTP/HTTPS |
| 19 | 19 | - **数据格式**: JSON |
| 20 | 20 | - **字符编码**: UTF-8 |
| 21 | 21 | |
| 22 | 22 | ## 认证 |
| 23 | 23 | |
| 24 | -当前版本暂不需要认证。未来版本将支持 API Key 或 OAuth 2.0。 | |
| 25 | - | |
| 26 | -## 通用响应格式 | |
| 27 | - | |
| 28 | -### 成功响应 | |
| 29 | - | |
| 30 | -HTTP Status: `200 OK` | |
| 31 | - | |
| 32 | -### 错误响应 | |
| 33 | - | |
| 34 | -HTTP Status: `4xx` 或 `5xx` | |
| 35 | - | |
| 36 | -```json | |
| 37 | -{ | |
| 38 | - "error": "错误消息", | |
| 39 | - "detail": "详细错误信息", | |
| 40 | - "timestamp": 1699800000 | |
| 41 | -} | |
| 42 | -``` | |
| 43 | - | |
| 44 | -常见错误码: | |
| 45 | -- `400 Bad Request`: 请求参数错误 | |
| 46 | -- `404 Not Found`: 资源不存在 | |
| 47 | -- `500 Internal Server Error`: 服务器内部错误 | |
| 48 | -- `503 Service Unavailable`: 服务不可用 | |
| 49 | - | |
| 50 | ---- | |
| 24 | +目前适配店匠,作为店匠搜索插件的一部分。(店匠插件认证方式为OAuth 2.0) | |
| 51 | 25 | |
| 52 | 26 | ## 搜索接口 |
| 53 | 27 | |
| ... | ... | @@ -80,18 +54,18 @@ HTTP Status: `4xx` 或 `5xx` |
| 80 | 54 | |
| 81 | 55 | | 参数 | 类型 | 必填 | 默认值 | 描述 | |
| 82 | 56 | |------|------|------|--------|------| |
| 83 | -| `query` | string | ✅ | - | 搜索查询字符串,支持布尔表达式(AND, OR, RANK, ANDNOT) | | |
| 84 | -| `size` | integer | ❌ | 10 | 返回结果数量(1-100) | | |
| 85 | -| `from` | integer | ❌ | 0 | 分页偏移量 | | |
| 86 | -| `filters` | object | ❌ | null | 精确匹配过滤器(见下文) | | |
| 87 | -| `range_filters` | object | ❌ | null | 数值范围过滤器(见下文) | | |
| 88 | -| `facets` | array | ❌ | null | 分面配置(见下文) | | |
| 89 | -| `sort_by` | string | ❌ | null | 排序字段名 | | |
| 90 | -| `sort_order` | string | ❌ | "desc" | 排序方向:`asc` 或 `desc` | | |
| 91 | -| `min_score` | float | ❌ | null | 最小相关性分数阈值 | | |
| 92 | -| `debug` | boolean | ❌ | false | 是否返回调试信息 | | |
| 93 | -| `user_id` | string | ❌ | null | 用户ID(用于个性化,预留) | | |
| 94 | -| `session_id` | string | ❌ | null | 会话ID(用于分析,预留) | | |
| 57 | +| `query` | string | Y | - | 搜索查询字符串,支持布尔表达式(AND, OR, RANK, ANDNOT) | | |
| 58 | +| `size` | integer | N | 10 | 返回结果数量(1-100) | | |
| 59 | +| `from` | integer | N | 0 | 分页偏移量 | | |
| 60 | +| `filters` | object | N | null | 精确匹配过滤器(见下文) | | |
| 61 | +| `range_filters` | object | N | null | 数值范围过滤器(见下文) | | |
| 62 | +| `facets` | array | N | null | 分面配置(见下文) | | |
| 63 | +| `sort_by` | string | N | null | 排序字段名 | | |
| 64 | +| `sort_order` | string | N | "desc" | 排序方向:`asc` 或 `desc` | | |
| 65 | +| `min_score` | float | N | null | 最小相关性分数阈值 | | |
| 66 | +| `debug` | boolean | N | false | 是否返回调试信息 | | |
| 67 | +| `user_id` | string | N | null | 用户ID(用于个性化,预留) | | |
| 68 | +| `session_id` | string | N | null | 会话ID(用于分析,预留) | | |
| 95 | 69 | |
| 96 | 70 | #### 过滤器详解 |
| 97 | 71 | |
| ... | ... | @@ -838,60 +812,6 @@ curl -X POST "http://localhost:6002/search/" \ |
| 838 | 812 | |
| 839 | 813 | --- |
| 840 | 814 | |
| 841 | -## 性能优化建议 | |
| 842 | - | |
| 843 | -### 1. 分页 | |
| 844 | - | |
| 845 | -使用 `size` 和 `from` 参数进行分页: | |
| 846 | - | |
| 847 | -```json | |
| 848 | -{ | |
| 849 | - "query": "玩具", | |
| 850 | - "size": 20, | |
| 851 | - "from": 0 // 第1页 | |
| 852 | -} | |
| 853 | - | |
| 854 | -{ | |
| 855 | - "query": "玩具", | |
| 856 | - "size": 20, | |
| 857 | - "from": 20 // 第2页 | |
| 858 | -} | |
| 859 | -``` | |
| 860 | - | |
| 861 | -**建议**: | |
| 862 | -- 单页结果数不超过 100 | |
| 863 | -- 深度分页(from > 10000)性能较差,建议使用 `search_after`(未来版本支持) | |
| 864 | - | |
| 865 | -### 2. 字段选择 | |
| 866 | - | |
| 867 | -默认返回所有字段。如果只需要部分字段,可以在后端配置中设置。 | |
| 868 | - | |
| 869 | -### 3. 缓存 | |
| 870 | - | |
| 871 | -系统自动缓存: | |
| 872 | -- 查询向量(避免重复计算) | |
| 873 | -- 翻译结果 | |
| 874 | -- 常见查询结果(未来版本) | |
| 875 | - | |
| 876 | -### 4. 批量查询 | |
| 877 | - | |
| 878 | -如需批量查询,建议: | |
| 879 | -- 使用异步并发请求 | |
| 880 | -- 控制并发数(建议 ≤ 10) | |
| 881 | -- 添加请求间隔(避免限流) | |
| 882 | - | |
| 883 | ---- | |
| 884 | - | |
| 885 | -## 限流规则 | |
| 886 | - | |
| 887 | -| 端点 | 限制 | | |
| 888 | -|------|------| | |
| 889 | -| `/search/` | 无限制(生产环境建议配置) | | |
| 890 | -| `/search/suggestions` | 60次/分钟 | | |
| 891 | -| `/search/instant` | 120次/分钟 | | |
| 892 | -| `/admin/*` | 60次/分钟 | | |
| 893 | - | |
| 894 | ---- | |
| 895 | 815 | |
| 896 | 816 | ## 常见问题 |
| 897 | 817 | |
| ... | ... | @@ -994,14 +914,6 @@ curl -X POST "http://localhost:6002/search/" \ |
| 994 | 914 | |
| 995 | 915 | --- |
| 996 | 916 | |
| 997 | -## 联系与支持 | |
| 998 | - | |
| 999 | -- **API 文档**: http://localhost:6002/docs(Swagger UI) | |
| 1000 | -- **ReDoc 文档**: http://localhost:6002/redoc | |
| 1001 | -- **问题反馈**: 请联系技术支持团队 | |
| 1002 | - | |
| 1003 | ---- | |
| 1004 | - | |
| 1005 | 917 | ## 附录 |
| 1006 | 918 | |
| 1007 | 919 | ### A. 支持的分析器 |
| ... | ... | @@ -1028,8 +940,3 @@ curl -X POST "http://localhost:6002/search/" \ |
| 1028 | 940 | | `TEXT_EMBEDDING` | dense_vector | 文本向量(1024维) | |
| 1029 | 941 | | `IMAGE_EMBEDDING` | dense_vector | 图片向量(1024维) | |
| 1030 | 942 | |
| 1031 | ---- | |
| 1032 | - | |
| 1033 | -**文档版本**: 3.0 | |
| 1034 | -**最后更新**: 2024-11-12 | |
| 1035 | - | ... | ... |