24 Commits

Author SHA1 Message Date
游夏 36f4e3720e 🎨 Add Simplified/Traditional Chinese sensitivity option (#17846)
*  搜索支持区分繁简选项 Add Simplified/Traditional Chinese sensitivity option for search

新增搜索配置 hanSensitive(区分繁简,默认开启 = 现状行为,命名与语义
向 caseSensitive 对齐)。关闭后简体与繁体可互相检索。

- FTS 层:关闭区分繁简时,blocks_fts / blocks_fts_case_insensitive 建表
  追加 han_insensitive 分词器参数(依赖 88250/go-sqlite3 配套补丁),
  繁体在分词时按单字折叠为简体,token 偏移仍指向原文;
- 切换选项复用区分大小写现有的 FullReindex 流程;
- 高亮:EncloseHighlighting 在关闭区分繁简时将关键字逐字符展开为
  繁简等价字符类(如 诗经 -> [诗詩][经經]),与分词器使用同一份
  OpenCC TSCharacters 映射数据;
- 兼容:旧版本 conf.json 缺 hanSensitive 字段时按既往行为置为开启;
  setSearch 请求未携带该字段(现行前端/第三方调用)时保持当前值,
  避免被零值意外翻转并触发重建索引;
- 遵照配置界面重写计划(#17601),本次不改动设置界面与 i18n,仅添加
  配置数据结构字段与前端类型定义(config.d.ts)。

范围说明:本次仅覆盖块全文搜索(关键字/查询语法)的命中与高亮;
历史/资源文件搜索、数据库属性过滤、虚拟引用、查找替换的替换动作
不在本次范围内(替换保持字节精确以避免误改原文)。

Fixes #13304

* 🐛 add missing util.SearchHanSensitive referenced by highlighting and sql.SetHanSensitive

Copilot 评审指出 util.SearchHanSensitive 未定义导致无法编译:补上该全局
变量(默认 true,与既往行为一致,由 sql.SetHanSensitive 维护),并修正
conf/search.go 的 gofmt 对齐。已在本地以 dev 当前 go.mod(已合并的
88250/go-sqlite3 分词器)完成 go build -tags fts5 与 kernel/search 单测验证。
2026-06-12 15:59:50 +08:00
iliya c3808f4e77 ♻️ kernel/search/find: modernize with wg.Go (#17289) 2026-03-21 11:53:41 +08:00
iliya 780039a553 ♻️ kernel/search/mark: optimize string concatenating with string builder (#17273) 2026-03-21 11:15:39 +08:00
Daniel 1aa84bd749 Improve find performance
Signed-off-by: Daniel <845765@qq.com>
2026-01-28 10:44:42 +08:00
Daniel 1fa674e430 🎨 Supports cleaning up unreferenced databases https://github.com/siyuan-note/siyuan/issues/11569
Signed-off-by: Daniel <845765@qq.com>
2026-01-27 22:58:56 +08:00
Daniel 048f0ab17c 🎨 https://github.com/siyuan-note/siyuan/issues/16872
Signed-off-by: Daniel <845765@qq.com>
2026-01-20 18:25:09 +08:00
Daniel 618269e7df 🎨 Improve tag escaping 2025-04-23 22:17:06 +08:00
Daniel b6bd34ce32 🎨 Improve tag escaping 2024-12-18 18:21:44 +08:00
Daniel 67f64f7b2b 🐛 Fix HTML tag search escaping https://github.com/siyuan-note/siyuan/issues/13354 2024-12-08 23:09:06 +08:00
Daniel a2a46f8f39 🎨 Improve escaping https://github.com/siyuan-note/siyuan/issues/13135 2024-11-15 22:42:56 +08:00
Oleksandr Redko b100721fee ♻️ Refactor Go to err != nil, err == nil (#12385) 2024-09-04 09:40:50 +08:00
Daniel 8d28c4edc9 🐛 Search results preview contains escape character issue https://github.com/siyuan-note/siyuan/issues/9790 https://ld246.com/article/1709035088865 2024-02-27 21:07:43 +08:00
Daniel 1da871ac5b 🐛 Search results preview contains escape character issue https://github.com/siyuan-note/siyuan/issues/9790 2023-11-30 12:54:10 +08:00
Daniel b9c35fd0f5 🎨 Update slogan Refactor your thinking https://github.com/siyuan-note/siyuan/issues/8608 2023-06-24 20:39:55 +08:00
Liang Ding 3d0b3c5ac9 🐛 The keyboard element is highlighted incorrectly in backlink mentions Fix https://github.com/siyuan-note/siyuan/issues/8143 2023-05-01 14:15:00 +08:00
Liang Ding a5be0036e9 🎨 Improve highlighting of numbers and letters in global search preview Fix https://github.com/siyuan-note/siyuan/issues/8100 2023-04-25 11:17:03 +08:00
Liang Ding ed3fe917e5 🎨 Improve virtual reference split words https://github.com/siyuan-note/siyuan/issues/7833 2023-03-30 19:51:22 +08:00
Liang Ding 7d05f4e8c7 ♻️ 搜索命中高亮 2023-02-16 13:35:01 +08:00
Liang Ding 7c40b44a15 🎨 搜索结果高亮支持大部分行级元素 https://github.com/siyuan-note/siyuan/issues/6745 2022-12-28 17:07:59 +08:00
Liang Ding f6afd1c142 🎨 简化搜索命中结果高亮实现 2022-11-21 00:21:04 +08:00
Liang Ding 9bd3f1ad2e 🎨 改进虚拟引用和反链提及搜索匹配 Fix https://github.com/siyuan-note/siyuan/issues/6600 2022-11-18 08:44:10 +08:00
Liang Ding 103cbf8d15 🎨 pdf?page 资源文件链接会被判定为未引用资源 Fix https://github.com/siyuan-note/siyuan/issues/5649 2022-08-16 10:24:38 +08:00
Liang Ding c2caef8d49 🐛 搜索结果未转义导致脚本执行或白屏 Fix https://github.com/siyuan-note/siyuan/issues/5492 2022-07-21 23:37:27 +08:00
Liang Ding f40ed985e1 ❤️ 完整开源界面和内核 https://github.com/siyuan-note/siyuan/issues/5013 2022-05-26 15:18:53 +08:00