搜索体系
从一个词到一条正则:Obsidian 的搜索,能挖多深,取决于你。
笔记写得再多,找不到等于没写。Obsidian 的搜索体系,从一次随手的模糊跳转,到一条精确的正则表达式,覆盖了”找东西”的几乎所有层次。掌握它,你的知识库才真正”活”了起来。
全文搜索:从关键词到正则
按 Ctrl+Shift+F(macOS 为 Cmd+Shift+F)打开左侧的 Search 面板,这是全文搜索的主战场。
最简单的用法就是敲一个词。多个词之间默认是”且”的关系:会议 工作 返回同时含两者的笔记;想”或”,就写 会议 OR 工作;想排除,加个减号 会议 -工作;想分组,用括号 会议 (工作 OR 聚会) 个人。要精确匹配一个短语,用双引号包起来:"星际穿越"。
进阶玩家可以用 正则表达式——把表达式放进两个斜杠之间即可。/\d{4}-\d{2}-\d{2}/ 能匹配所有形如 2026-07-02 的日期,还能和运算符混用:path:/\d{4}-\d{2}-\d{2}/ 专门找文件路径里带日期的笔记。Obsidian 用的是 JavaScript 风格正则。
不确定自己的搜索式对不对?点一下 Explain search term(解释搜索词),Obsidian 会用大白话把它翻译给你听。
搜索运算符:精准到行、到块、到属性
真正让搜索脱胎换骨的,是一组运算符:
| 运算符 | 作用 |
|---|---|
file: | 在文件名里找,如 file:.jpg |
path: | 在路径里找,如 path:"每日笔记/2026-07" |
content: | 只在正文里找 |
tag: | 找标签,如 tag:#工作 |
line: | 同一行内同时满足 |
block: | 同一块(段落)内满足 |
section: | 同一章节内满足 |
task: / task-todo: / task-done: | 在任务里找,分别对应全部/未完成/已完成 |
match-case: / ignore-case: | 强制区分或不区分大小写 |
运算符还能嵌套:task:(打电话 OR 发邮件) 一步找出所有要打电话或发邮件的待办。
搜索属性(Properties)
有了属性,搜索又深了一层。用方括号包裹属性名即可:
[aliases]找出所有定义了aliases的笔记;[status:草稿]找出status为”草稿”的笔记;[status:草稿 OR 已发布]支持组合;[aliases:null]专挑那些属性存在却为空的笔记。
配合 >、< 还能比大小:[时长:>5] 找时长大于 5 的。数值、日期、文本,都能筛。
嵌入与保存搜索结果
搜索结果可以嵌入到任意笔记里,用一个 query 代码块即可:
```sql
embed OR search
```
这样新笔记符合条件时会自动出现在列表中,相当于一个”活的索引”。想保存某次搜索?在结果旁的三点菜单里选 Bookmark,把它收进书签,下次一键复用。还能 Copy search results,把结果复制出去贴到别处。排序也自由:按文件名、按修改时间、按创建时间,正序倒序皆可。
Quick Switcher:模糊跳转
Ctrl+O(macOS Cmd+O)唤出 Quick Switcher,这是为”我大概记得名字”准备的模糊匹配器。敲几个字母,它就能猜出你想打开哪篇;按 Ctrl+Enter 在新标签页打开;输入框为空时,它列出最近浏览的笔记,按方向键下再回车,就能在两篇笔记间快速切换。当 vault 超过一万条时,它会自动切换到更轻量的算法以保持流畅。
命令面板:Ctrl/Cmd+P
Ctrl+P(macOS Cmd+P)打开的 命令面板,则是另一层模糊匹配——它搜的不是笔记,而是”动作”。输入 scf 能找到 Save current file,几乎所有菜单里的命令都能这样盲打。常用命令还能在设置里置顶(Pin),或直接绑定快捷键。从找笔记到找命令,Obsidian 把”模糊匹配”打磨成了一种肌肉记忆。
搜索体系的天花板很高,但日常你或许只用得上 Ctrl+O 加几个标签运算符。没关系——工具的意义不在于用尽,而在于需要时,它恰好在那儿。