Commit 12ac6559e39c109d0aaf4f980c68bd9728be1602

Authored by tangwang
1 parent a00c3672

接口文档

Showing 1 changed file with 14 additions and 107 deletions   Show diff stats
API_DOCUMENTATION.md
@@ -14,40 +14,14 @@ @@ -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 - **协议**: HTTP/HTTPS 18 - **协议**: HTTP/HTTPS
19 - **数据格式**: JSON 19 - **数据格式**: JSON
20 - **字符编码**: UTF-8 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,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,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,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 ### A. 支持的分析器 919 ### A. 支持的分析器
@@ -1028,8 +940,3 @@ curl -X POST "http://localhost:6002/search/" \ @@ -1028,8 +940,3 @@ curl -X POST "http://localhost:6002/search/" \
1028 | `TEXT_EMBEDDING` | dense_vector | 文本向量(1024维) | 940 | `TEXT_EMBEDDING` | dense_vector | 文本向量(1024维) |
1029 | `IMAGE_EMBEDDING` | dense_vector | 图片向量(1024维) | 941 | `IMAGE_EMBEDDING` | dense_vector | 图片向量(1024维) |
1030 942
1031 ----  
1032 -  
1033 -**文档版本**: 3.0  
1034 -**最后更新**: 2024-11-12  
1035 -