Spaces:
Runtime error
Runtime error
File size: 6,055 Bytes
7f22d3c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 | # 功能诊断指南
## 🔍 问题:新增功能无法使用
如果您发现Graph View和摘要高亮功能无法使用,请按照以下步骤诊断:
## ✅ 第一步:检查代码是否已更新
### 1. 确认文件已更新
检查 `static/index.html` 是否包含新功能:
```bash
# 检查Graph View相关的代码
grep -n "Graph View\|tab-graph\|graph-view" static/index.html
# 检查摘要高亮相关的代码
grep -n "highlighted_snippet" static/index.html
```
**应该看到**:
- Tab导航按钮
- Graph View容器
- 摘要高亮处理代码
### 2. 检查后端API
```bash
# 检查Graph API
grep -n "/api/search/graph" web_server.py
# 检查摘要高亮
grep -n "generate_highlighted_snippet\|highlighted_snippet" search_engine.py
```
## 🚀 第二步:重启服务器
**重要**:代码更改后必须重启服务器!
### 停止旧服务器
```bash
# 查找运行中的服务器进程
ps aux | grep "web_server.py\|uvicorn"
# 停止服务器(替换PID)
kill <PID>
```
### 启动新服务器
```bash
cd /Users/papersiii/tum-search
python3 web_server.py --mode user --port 8000
```
## 🌐 第三步:清除浏览器缓存
### 方法1:硬刷新
- **Windows/Linux**: `Ctrl + Shift + R`
- **Mac**: `Cmd + Shift + R`
### 方法2:清除缓存
1. 打开浏览器开发者工具(F12)
2. 右键点击刷新按钮
3. 选择"清空缓存并硬性重新加载"
### 方法3:使用无痕模式
在新无痕窗口中打开:
```
http://localhost:8000/
```
## 🔎 第四步:检查功能是否出现
### 测试Graph View
1. **搜索任意关键词**(如 "TUM")
2. **查看搜索结果区域上方** - 应该看到两个Tab:
- ✅ "List View" (列表视图)
- ✅ "Graph View" (网络图视图)
3. **点击 "Graph View" Tab** - 应该显示网络图
### 测试摘要高亮
1. **搜索任意关键词**(如 "TUM")
2. **查看搜索结果卡片中的摘要文本**
3. **关键词应该以青色加粗显示**
## 🐛 常见问题排查
### 问题1:看不到Graph View Tab
**可能原因**:
- 浏览器缓存了旧页面
- 服务器没有重启
- 访问了错误的URL
**解决方案**:
1. 确认访问 `http://localhost:8000/`(根路径)
2. 硬刷新页面(Ctrl+Shift+R)
3. 检查浏览器控制台是否有错误
### 问题2:摘要高亮不显示
**可能原因**:
- 搜索结果中没有 `highlighted_snippet` 字段
- 关键词在文本中不存在
- HTML渲染问题
**检查方法**:
1. 打开浏览器开发者工具(F12)
2. 切换到 **Network** 标签
3. 执行搜索
4. 点击 `/api/search?q=...` 请求
5. 查看响应中的 `results` 数组
6. 检查第一个结果是否有 `highlighted_snippet` 字段
### 问题3:Graph View为空或报错
**可能原因**:
- ECharts库未加载
- 网络图数据为空
- JavaScript错误
**检查方法**:
1. 打开浏览器控制台(F12)
2. 查看是否有JavaScript错误
3. 检查是否加载了ECharts:
```javascript
typeof echarts !== 'undefined'
```
4. 检查API响应:
```javascript
fetch('/api/search/graph?q=TUM').then(r => r.json()).then(console.log)
```
## 🔧 手动测试步骤
### 测试1:检查后端API
```bash
# 启动服务器后,测试搜索API
curl "http://localhost:8000/api/search?q=TUM" | python3 -m json.tool | head -50
# 检查是否包含highlighted_snippet字段
curl "http://localhost:8000/api/search?q=TUM" | grep -o "highlighted_snippet" | head -1
```
### 测试2:检查Graph API
```bash
# 测试Graph API
curl "http://localhost:8000/api/search/graph?q=TUM&max_nodes=10" | python3 -m json.tool
```
应该返回包含 `nodes` 和 `edges` 的JSON数据。
### 测试3:浏览器控制台测试
在浏览器控制台中输入:
```javascript
// 检查Tab元素是否存在
document.getElementById('tab-graph')
// 检查Graph容器是否存在
document.getElementById('graph-container')
// 检查ECharts是否加载
typeof echarts
// 测试Graph API
fetch('/api/search/graph?q=TUM').then(r => r.json()).then(data => {
console.log('节点数量:', data.nodes?.length);
console.log('边数量:', data.edges?.length);
})
```
## 📝 功能确认清单
### Graph View功能
- [ ] 搜索后能看到两个Tab(List View和Graph View)
- [ ] 点击Graph View Tab后能显示网络图
- [ ] 网络图中有节点和连线
- [ ] 中心节点是青色,相关节点是紫色
- [ ] 点击节点可以跳转到详情页
### 摘要高亮功能
- [ ] 搜索结果中的关键词被加粗显示
- [ ] 关键词是青色(cyan-400)
- [ ] 关键词有半透明背景
- [ ] 多个关键词都会被高亮
## 🆘 如果仍然无法使用
### 检查清单
1. ✅ **服务器已重启**
```bash
ps aux | grep web_server
```
2. ✅ **访问正确的URL**
- `http://localhost:8000/` ✅
- `http://localhost:8000/static/index.html` ✅
3. ✅ **浏览器缓存已清除**
- 使用无痕模式测试
4. ✅ **检查服务器日志**
- 查看终端输出是否有错误
5. ✅ **检查浏览器控制台**
- 按F12打开开发者工具
- 查看Console标签的错误信息
### 获取帮助信息
如果仍然无法解决,请提供以下信息:
1. **服务器日志**(终端输出)
2. **浏览器控制台错误**(F12 → Console)
3. **网络请求响应**(F12 → Network → 查看 `/api/search` 响应)
4. **访问的URL**
## 🔄 快速修复步骤
```bash
# 1. 停止服务器
pkill -f "web_server.py"
# 2. 确认代码已更新
git status
git log --oneline -3
# 3. 清除浏览器缓存(在浏览器中操作)
# 4. 重启服务器
cd /Users/papersiii/tum-search
python3 web_server.py --mode user --port 8000
# 5. 在无痕窗口中访问
# http://localhost:8000/
```
## 📚 相关文件位置
- **前端代码**:`static/index.html`
- Graph View: 第193-222行
- 摘要高亮: 第938-999行
- **后端API**:
- Graph API: `web_server.py` 第223-370行
- 搜索API: `web_server.py` 第218-221行
- 摘要高亮: `search_engine.py` 第226-241行
|