高级搜索技巧
Obsidian 内置了强大的搜索功能,掌握搜索技巧能让你在海量笔记中快速找到所需内容。
基础搜索
打开搜索
- 快捷键:
Ctrl/Cmd + Shift + F - 或点击左侧搜索图标
基本搜索
直接输入关键词即可搜索:
text
Python这会搜索所有包含「Python」的笔记。
搜索语法
文件名搜索
text
file:Python只搜索文件名包含「Python」的笔记。
路径搜索
text
path:项目搜索「项目」文件夹下的所有笔记。
标签搜索
text
tag:#读书搜索包含 #读书 标签的笔记。
内容搜索
text
line:TODO搜索包含「TODO」的行。
组合搜索
AND 搜索(同时包含)
text
Python 教程搜索同时包含「Python」和「教程」的笔记。
OR 搜索(任一包含)
text
Python OR JavaScript搜索包含「Python」或「JavaScript」的笔记。
NOT 搜索(排除)
text
Python -教程搜索包含「Python」但不包含「教程」的笔记。
括号分组
text
(Python OR JavaScript) 教程搜索包含「Python」或「JavaScript」,同时包含「教程」的笔记。
高级搜索语法
精确匹配
text
"Python 教程"精确匹配「Python 教程」这个短语。
正则表达式
text
/\d{4}-\d{2}-\d{2}/搜索匹配日期格式的笔记。
通配符
text
Py*n匹配「Python」「Pylon」等。
时间搜索
创建时间
text
cdate:2024-03-15搜索 2024-03-15 创建的笔记。
text
cdate:2024-03搜索 2024年3月 创建的笔记。
修改时间
text
mdate:2024-03-15搜索 2024-03-15 修改的笔记。
相对时间
text
mdate:last week搜索上周修改的笔记。
text
mdate:this month搜索本月修改的笔记。
搜索示例
找最近修改的笔记
text
mdate:this week找某个项目的笔记
text
path:项目/A找未完成的任务
text
line:"- [ ]"找高优先级笔记
text
tag:#优先级/高找某人的会议记录
text
会议 张三找某个时间段的笔记
text
cdate:2024-01..2024-03保存搜索
创建搜索笔记
将常用搜索保存为一个笔记:
markdown
# 常用搜索
## 本周工作
`mdate:this week path:工作`
## 待办事项
`line:"- [ ]"`
## 高优先级
`tag:#优先级/高`使用搜索插件
安装「Better Search」等插件增强搜索功能。
搜索结果排序
点击搜索结果顶部的排序选项:
| 排序方式 | 说明 |
|---|---|
| 相关性 | 默认,按匹配程度 |
| 文件名 | 按名称字母排序 |
| 创建时间 | 最近创建优先 |
| 修改时间 | 最近修改优先 |
搜索技巧总结
| 场景 | 搜索语法 |
|---|---|
| 找文件名 | file:关键词 |
| 找文件夹 | path:文件夹名 |
| 找标签 | tag:#标签名 |
| 排除内容 | 关键词 -排除词 |
| 精确匹配 | "精确短语" |
| 最近修改 | mdate:this week |
| 某时间段 | cdate:2024-01..2024-03 |
结合 Dataview 搜索
Dataview 提供了更强大的数据查询能力:
dataview
TABLE
file.name AS "笔记",
file.mtime AS "修改时间"
FROM ""
WHERE contains(file.name, "项目")
SORT file.mtime DESC
LIMIT 10正则表达式搜索
Obsidian 搜索支持 JavaScript 正则表达式语法,用 / 包裹:
常用正则示例
| 场景 | 正则表达式 | 说明 |
|---|---|---|
| 匹配日期 | /\d{4}-\d{2}-\d{2}/ | 格式:2024-01-15 |
| 匹配邮箱 | /[\w.]+@[\w.]+\.\w+/ | 标准邮箱格式 |
| 匹配 URL | /https?:\/\/\S+/ | http/https 链接 |
| 匹配标签 | /#\w+\/\w+/ | 嵌套标签如 #项目/进行中 |
| 匹配待办 | /- \[ \]/ | 未完成任务 |
| 匹配高亮 | /==.+?==/ | Obsidian 高亮语法 |
| 匹配代码块 | /```[\s\S]*?```/ | 代码块内容 |
正则修饰符
/\d+/i— 不区分大小写/\d+/g— 全局匹配(搜索默认全局)
正则组合搜索
text
# 搜索包含日期的待办
/- \[ \].*\d{4}-\d{2}-\d{2}/
# 搜索标题后紧跟的内容
/^## .+\n.+/
# 搜索空链接(只有 [[]] 没有内容)
/\[\[\]\]/搜索运算符速查
运算符优先级
从高到低:
()— 括号分组""— 精确匹配-— 排除OR— 或- 空格 — 与(AND)
完整运算符列表
| 运算符 | 语法 | 说明 | 示例 |
|---|---|---|---|
| AND | 空格 | 同时包含 | Python 教程 |
| OR | OR | 任一包含 | Python OR Java |
| NOT | - | 排除 | Python -教程 |
| 精确 | "" | 精确短语 | "Python 教程" |
| 分组 | () | 组合逻辑 | (Python OR Java) 教程 |
| 正则 | // | 正则匹配 | /\d{4}-\d{2}/ |
| 通配 | * | 模糊匹配 | Py*n |
字段运算符
| 运算符 | 语法 | 说明 | 示例 |
|---|---|---|---|
| 文件名 | file: | 搜索文件名 | file:README |
| 路径 | path: | 搜索路径 | path:项目/A |
| 标签 | tag: | 搜索标签 | tag:#重要 |
| 内容 | line: | 搜索行内容 | line:TODO |
| 内容 | content: | 搜索正文 | content:总结 |
| 创建时间 | cdate: | 按创建时间 | cdate:2024-03 |
| 修改时间 | mdate: | 按修改时间 | mdate:this week |
| 块 | block: | 搜索块内容 | block:定义 |
| 部分 | section: | 搜索章节 | section:概述 |
搜索设置优化
搜索配置
在 设置 → 搜索 中可以调整:
| 设置 | 推荐值 | 说明 |
|---|---|---|
| 搜索大小写敏感 | 关闭 | 默认不区分大小写 |
| 包含 PDF 内容 | 开启 | 同时搜索 PDF 附件 |
| 显示上下文 | 开启 | 显示匹配行的上下文 |
| 显示附近匹配 | 3 行 | 上下文行数 |
排除搜索目录
如果某些目录不需要搜索,在 设置 → 搜索 → 排除 中添加:
text
.obsidian
.trash
Templates
Archive搜索与 Dataview 联动
当内置搜索无法满足需求时,可以用 Dataview 实现更复杂的查询:
搜索 + 元数据过滤
dataview
TABLE
status AS "状态",
priority AS "优先级",
dateformat(file.mtime, "yyyy-MM-dd") AS "修改时间"
FROM ""
WHERE contains(file.name, "项目")
AND status = "进行中"
AND priority = "高"
SORT file.mtime DESC模拟搜索运算符
dataview
# 等价于:Python -教程 tag:#项目
LIST
FROM ""
WHERE contains(file.name, "Python")
AND !contains(file.name, "教程")
AND contains(file.tags, "项目")按时间范围搜索
dataview
# 等价于:cdate:2024-01..2024-03 path:工作
TABLE
dateformat(file.ctime, "yyyy-MM-dd HH:mm") AS "创建时间",
file.folder AS "位置"
FROM "工作"
WHERE file.ctime >= date(2024-01-01)
AND file.ctime <= date(2024-03-31)
SORT file.ctime DESC搜索结果导出
将搜索结果保存为笔记:
- 执行搜索
- 使用命令面板 → 「复制搜索结果」
- 粘贴到新笔记中
搜索技巧总结
| 场景 | 搜索语法 |
|---|---|
| 找文件名 | file:关键词 |
| 找文件夹 | path:文件夹名 |
| 找标签 | tag:#标签名 |
| 排除内容 | 关键词 -排除词 |
| 精确匹配 | "精确短语" |
| 最近修改 | mdate:this week |
| 某时间段 | cdate:2024-01..2024-03 |
| 正则匹配 | /\d{4}-\d{2}/ |
| 多条件组合 | (Python OR Java) 教程 |
| 未完成任务 | line:"- [ ]" |
| 嵌套标签 | tag:#项目/* |
常见问题
搜索结果太多怎么办?
- 添加更多关键词缩小范围
- 使用
path:限定文件夹 - 使用
tag:限定标签
搜索不到笔记?
检查:
- 关键词拼写是否正确
- 是否区分大小写
- 笔记是否在排除的文件夹中
如何搜索附件?
默认搜索不包含附件内容,需要:
- 开启「设置 → 搜索 → 包含 PDF 内容」
- 或使用专门的 PDF 搜索插件