Commit 7af56df33bee873dde9f20db13fca9c5158b0e59
1 parent
c797ba2b
文档优化
Showing
1 changed file
with
4 additions
and
35 deletions
Show diff stats
docs/搜索API对接指南.md
| @@ -918,14 +918,9 @@ cat logs/indexer.log | jq 'select(.operation == "request_complete") | {timestamp | @@ -918,14 +918,9 @@ cat logs/indexer.log | jq 'select(.operation == "request_complete") | {timestamp | ||
| 918 | - **端点**: `POST /indexer/index` | 918 | - **端点**: `POST /indexer/index` |
| 919 | - **描述**: 增量索引接口,根据指定的SPU ID列表进行索引,直接将数据写入ES。用于增量更新指定商品。 | 919 | - **描述**: 增量索引接口,根据指定的SPU ID列表进行索引,直接将数据写入ES。用于增量更新指定商品。 |
| 920 | 920 | ||
| 921 | -**支持两种删除方式**: | ||
| 922 | -1. **自动检测删除**:如果SPU在数据库中被标记为`deleted=1`,自动从ES中删除对应文档 | ||
| 923 | -2. **显式删除**:通过`delete_spu_ids`参数显式指定要删除的SPU(无论数据库状态如何) | ||
| 924 | - | ||
| 925 | -**删除策略说明**: | ||
| 926 | -- 数据库是唯一真实来源(Single Source of Truth) | ||
| 927 | -- 自动检测:查询数据库时发现`deleted=1`,自动从ES删除 | ||
| 928 | -- 显式删除:调用方明确知道哪些SPU要删除,直接删除(适用于批量删除场景) | 921 | +**删除说明**: |
| 922 | +- `spu_ids`中的SPU:如果数据库`deleted=1`,自动从ES删除,响应状态为`deleted` | ||
| 923 | +- `delete_spu_ids`中的SPU:直接删除,响应状态为`deleted`、`not_found`或`failed` | ||
| 929 | 924 | ||
| 930 | #### 请求参数 | 925 | #### 请求参数 |
| 931 | 926 | ||
| @@ -1027,7 +1022,7 @@ curl -X POST "http://localhost:6002/indexer/index" \ | @@ -1027,7 +1022,7 @@ curl -X POST "http://localhost:6002/indexer/index" \ | ||
| 1027 | "spu_ids": ["123", "456", "789"] | 1022 | "spu_ids": ["123", "456", "789"] |
| 1028 | }' | 1023 | }' |
| 1029 | ``` | 1024 | ``` |
| 1030 | -说明:如果SPU 456在数据库中`deleted=1`,会自动从ES删除,并出现在`deleted.auto`列表中。 | 1025 | +说明:如果SPU 456在数据库中`deleted=1`,会自动从ES删除,在响应中`spu_ids`列表里456的状态为`deleted`。 |
| 1031 | 1026 | ||
| 1032 | **示例2:显式删除(批量删除)**: | 1027 | **示例2:显式删除(批量删除)**: |
| 1033 | ```bash | 1028 | ```bash |
| @@ -1065,22 +1060,6 @@ curl -X POST "http://localhost:6002/indexer/index" \ | @@ -1065,22 +1060,6 @@ curl -X POST "http://localhost:6002/indexer/index" \ | ||
| 1065 | ``` | 1060 | ``` |
| 1066 | 说明:同时执行索引和删除操作。 | 1061 | 说明:同时执行索引和删除操作。 |
| 1067 | 1062 | ||
| 1068 | -#### 删除策略最佳实践 | ||
| 1069 | - | ||
| 1070 | -1. **优先使用自动检测删除**(推荐) | ||
| 1071 | - - 数据库是唯一真实来源,保证数据一致性 | ||
| 1072 | - - 调用方无需额外处理,系统自动检测并删除 | ||
| 1073 | - - 适用于常规的增量更新场景 | ||
| 1074 | - | ||
| 1075 | -2. **显式删除用于特殊场景** | ||
| 1076 | - - 批量删除操作 | ||
| 1077 | - - 需要立即删除(不等待数据库更新) | ||
| 1078 | - - 特殊业务逻辑需要 | ||
| 1079 | - | ||
| 1080 | -3. **监控删除统计** | ||
| 1081 | - - 通过返回结果中的`deleted`字段监控删除操作 | ||
| 1082 | - - 区分显式删除和自动删除,便于问题排查 | ||
| 1083 | - | ||
| 1084 | #### 日志说明 | 1063 | #### 日志说明 |
| 1085 | 1064 | ||
| 1086 | 增量索引操作的所有关键信息都会记录到 `logs/indexer.log` 文件中(JSON格式),包括: | 1065 | 增量索引操作的所有关键信息都会记录到 `logs/indexer.log` 文件中(JSON格式),包括: |
| @@ -1088,20 +1067,10 @@ curl -X POST "http://localhost:6002/indexer/index" \ | @@ -1088,20 +1067,10 @@ curl -X POST "http://localhost:6002/indexer/index" \ | ||
| 1088 | - 每个SPU的处理状态(获取、转换、索引、删除) | 1067 | - 每个SPU的处理状态(获取、转换、索引、删除) |
| 1089 | - ES批量写入结果 | 1068 | - ES批量写入结果 |
| 1090 | - 成功/失败统计 | 1069 | - 成功/失败统计 |
| 1091 | -- 删除统计(显式删除和自动删除数量) | ||
| 1092 | - 详细的错误信息 | 1070 | - 详细的错误信息 |
| 1093 | 1071 | ||
| 1094 | 日志查询方式请参考[5.1节查看索引日志](#51-全量重建索引接口)部分。 | 1072 | 日志查询方式请参考[5.1节查看索引日志](#51-全量重建索引接口)部分。 |
| 1095 | 1073 | ||
| 1096 | -**删除相关日志示例**: | ||
| 1097 | -```bash | ||
| 1098 | -# 查看删除操作日志 | ||
| 1099 | -cat logs/indexer.log | jq 'select(.status == "deleted" or .status == "auto_deleted")' | ||
| 1100 | - | ||
| 1101 | -# 查看包含删除统计的请求完成日志 | ||
| 1102 | -cat logs/indexer.log | jq 'select(.operation == "request_complete" and .deleted_count > 0)' | ||
| 1103 | -``` | ||
| 1104 | - | ||
| 1105 | ### 5.3 查询文档接口 | 1074 | ### 5.3 查询文档接口 |
| 1106 | 1075 | ||
| 1107 | - **端点**: `POST /indexer/documents` | 1076 | - **端点**: `POST /indexer/documents` |