有无自动忽略默认为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/
感谢! 非常有用!