feat: 搜索改进与代码修复

- 连字符扩展:multi-agent → multi agent 提升搜索召回率
- 中文同义词支持:添加中英文混合查询扩展
- Snippet 高亮预留:为 FTS5 snippet 功能预留接口
- YAML 解析增强:支持 HTML 实体解码
- 标签关联维护:自动维护 wiki_page_tags 关联表
- 缓存失效优化:支持智能前缀匹配
- 设计文档更新:汇总近期改动 (v1.3)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-28 07:47:28 +08:00
parent b2c3ca02f0
commit 421b3ada3b
10 changed files with 289 additions and 44 deletions
+18 -2
View File
@@ -1038,6 +1038,22 @@ pm2 save
## 14. 修订记录
### v1.32026-06-28- 搜索改进与代码修复
**搜索改进(P0-P1):**
-**连字符扩展**:在 `Database.update_fts_content()` 中添加 `_expand_hyphenated_text()` 方法,将 `multi-agent` 扩展为 `multi agent` 提升搜索召回率
-**中文同义词支持**:在 `QueryService` 中添加 `CHINESE_SYNONYMS` 映射表和 `_expand_query_with_synonyms()` 方法,支持中英文混合查询(如"多智能体"自动扩展为包含 "multi-agent" 的查询)
-**Snippet 高亮预留**:在 `Database.fts_search()` 中添加 `with_snippets` 参数,为 FTS5 snippet 功能预留接口
**代码修复:**
-**YAML 解析增强**:添加 `html.unescape()` 支持解码 HTML 实体(如 `&gt;``>`
-**标签关联维护**:添加 `Database.update_page_tags()` 方法,自动维护 `wiki_page_tags` 关联表
-**缓存失效优化**:在 `QueryService.invalidate_cache()` 中添加智能前缀处理,支持 `page:/links:/search:` 前缀匹配
**数据模型更新:**
-**FTS5 表结构优化**:移除外部内容表,直接存储所有字段在 FTS 表中
-**索引策略调整**title 和 summary 字段存储扩展版本(原版 + 连字符扩展版本)
### v1.22026-06-26- 第二轮评审修复
**Major(已修复):**
@@ -1069,6 +1085,6 @@ pm2 save
---
*文档版本:v1.2*
*文档版本:v1.3*
*创建时间:2026-06-26*
*更新时间:2026-06-26*
*更新时间:2026-06-28*