搜索如何忽略md语法标记?

有无自动忽略默认为md语法(可以自设正则表达式)部分仅保留上下文的搜索方式

个人理解从简到繁有这么几个方案, 不知道是否符合楼主的场景:


1 切到阅读视图去搜

此时自动忽略所有格式符, 效果类似浏览器 Ctrl+F 搜网页


2 搜时主动分词

其实大部分 “单词+空格” 语言的用户例如英语, 都是直接搜就行, 他们很少在搜索场景遇到困难; 英语 markdown 也没啥事, 因为 md 各种格式符, 在搜索场景下可看作大号空白字符

但中文这种每字连一起的, 当用户把关键词敲搜索框里, 在软件视角就好比用户想要精确匹配一个超长的奇特单词

举例下面场景, Obsidian 默认搜索 重要概念 只能命中 A B, 而 C D 是搜不到的, 原因是程序认为用户想精确匹配 "重要概念"

A 在段落中的重要概念以及周围的句子
B 在段落中的**重要概念**以及周围的句子
C 在段落中的==重要==概念以及周围的句子
D 在段落中的重要 [概念](https://wikipedia.org/xxxxx) 以及周围的句子

解决办法是主动分词, 搜 重要 概念, 这样 A B C D 就都能命中

这办法的立场在于, 无论 markdown 里格式符多复杂, 其分割位置也基本是符合语义的:

仍以上面举例
原文里句子是 [[重要概念]] / ==重要==概念 / ==重要== **概念** 都有可能
但是原文给写成了 ==重==要概_念_ 就不太可能


3 Omnisearch + 中文分词插件 aidenlx/cm-chs-patch

实测 Omnisearch 搜 段落中的重要概念段落的重要概念 都能找到上面这个笔记

这可能最接近楼主所需的 “自动忽略默认为md语法” 的搜索

但它其实不是特别为这场景设计的, 我感觉搜索结果有点不太确定, 它更适合超大仓库里匹配模糊的关键词, 以及给搜索结果排个好顺序


PS. Obsidian 里 line:(重要 概念) 特别好用, 大部分场景下要搜的内容都在同一行, line:xxx 可以排除很多不想要的匹配, 且能用正则表达式 line:/xxx/

感谢! 非常有用!