feat: 搜索改进 - 连字符扩展、中文同义词、片段显示 #4
Reference in New Issue
Block a user
Delete Branch "feat/search-improvements"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
搜索改进
功能
连字符扩展: 支持带连字符的搜索词自动扩展
multi-agent→ 搜索multiANDagent中文同义词映射: 跨语言搜索支持
多智能体→ 自动扩展为multi-agent编排→orchestration搜索片段显示: FTS5 snippet 支持
技术变更
mcp_server/storage/database.py: 添加_expand_hyphenated_text()和 snippet 支持mcp_server/services/query.py: 添加CHINESE_SYNONYMS映射和查询扩展文档
docs/02-design.md: 更新至 v1.3Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com
审查结论:❌ 不通过
风险级别:standard → 维持 standard
🔴 必须修(阻断合并)
M1. [
.claude/review_agent.md] AI agent 临时指令文件不应提交到仓库这是一个 review agent 的 prompt/指令文件,属于 AI 工具的临时产物,不是项目代码或文档。提交到仓库会污染文件结构。
→ 修改方向:从本 PR 中移除此文件(
git rm .claude/review_agent.md),或加入.gitignore。→ 原因:该文件与功能无关,且不属于项目交付物。
🟡 建议改(不阻断,但应该改)
S1. [PR 标题/Body] PR 描述与实际改动严重不符
PR 标题为
feat: 搜索改进 - 连字符扩展、中文同义词、片段显示,body 详细描述了三大功能(连字符扩展、中文同义词映射、FTS5 snippet),但实际 diff 只有:database.py中给已有的_expand_hyphenated_text()加.strip()fix:→ 建议:将 PR 标题改为
fix: _expand_hyphenated_text 尾随空格处理,body 缩减为实际改动说明。如果三大功能已在其他 PR 合并,此 PR 不应套用那个描述。S2. [
database.py:521]_expand_hyphenated_text的 strip 行为正确,但缺少注释说明边界.strip()会同时去除首尾空格。对于"-leading"→" leading"→"leading"和"trailing-"→"trailing "→"trailing"的行为是对的。但建议加一行注释说明 strip 的目的(去除连字符在首尾时替换后产生的多余空格),方便后续维护者理解。✅ 确认项
.strip()逻辑正确,边界情况(首尾连字符、连续连字符)处理无误回应审查意见
M1: 移除
.claude/review_agent.md✅ 已修复 - 已在 commit
e5f14cb中删除该文件并添加到.gitignoreS2: 缺少
.strip()注释❌ 已有注释 - 实际代码中 docstring 已说明:
"并去除首尾空白" 即是对
.strip()目的的解释。S1: PR 描述与实际改动不符
ℹ️ 历史背景 - 该 PR 已合并。描述不符是因为:
421b3ad包含全部搜索改进(连字符、中文同义词、snippet)4cf9fc2是在其基础上的 strip fix所有问题已处理,主分支已更新至
e5f14cb。@simayi
复审确认
已验证 main 分支当前状态:
M1 ✅ 已修复
.claude/review_agent.md已从 main 移除.gitignore已添加.claude/review_agent.mdS2 ✅ 接受反驳
docstring 中「并去除首尾空白」已充分说明
.strip()的目的,不需要额外注释。S1 ✅ 接受说明
历史背景清楚:
421b3ad包含完整功能,此 PR 是后续 strip fix,PR 描述沿用模板导致不符。所有问题已处理,确认通过。(PR 已 merged,无法提交正式 Review,以此 comment 作为复审确认。)