DOC-107 实现 Markdown/TXT 基础搜索 #12
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
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?
支持 Markdown / TXT 内容搜索。
大小写不敏感搜索,返回 block_id/line_number + snippet + match range。
非目标:不引入 Tantivy、不做跨文件搜索、不做模糊搜索。
验收标准:Markdown 能按 block 搜索、TXT 能按行搜索、空 query 不 panic、有单元测试
完成项
✅ search_blocks(blocks, query) — Markdown 块内搜索
✅ search_text(content, query) — TXT 文本搜索
✅ 大小写不敏感
✅ 返回 block_id/line_number + snippet + match_start/end
✅ 空 query 安全返回空结果(不 panic)
✅ snippet 40 字符前后上下文
支持搜索的 Block 类型
Heading / Paragraph / List / CodeBlock / Quote / Table / Image(alt)
测试
M1 全部完成!
DOC-101 ✅ DOC-102 ✅ DOC-103 ✅ DOC-104 ✅
DOC-105 ✅ DOC-106 ✅ DOC-107 ✅ DOC-108 ✅
M1 8/8 全部完成,可进行里程碑审查。
审查补充 (2026-06-02)
search_blocks和search_text已通过 UDL 暴露到 FFI:search_markdown_blocks(sequence<DocumentBlock> blocks, string query) → sequence<SearchResult>search_text_content(string content, string query) → sequence<SearchResult>SearchResult.match_start/match_end从usize改为u64(FFI 兼容)core_block_from_ffi反向转换以支持 search_blocks 接收 FFI DocumentBlock所有 54 测试通过,iOS 可通过 UniFFI 调用搜索。