Obsidian 0x02:Obsidian 全库搜索


Obsidian 全库搜索

笔记界面的左边栏中搜索是对库中所有笔记进行关键字搜索,而笔记界面正上方是仅仅对当前笔记进行搜索。

全库搜索除了搜索单一关键词,还有更进阶的搜索方式。

同时包含多个关键词的笔记

要求某篇笔记同时含有关键词 A、B、C,才出现在搜索结果里。

方式:用空格将各个关键词分隔。

A B C

包含其中一个关键词的笔记

要求某篇笔记只需要包含多个关键词中之一即出现在搜索结果里。

方式:用 OR 来分隔各个关键词(关键词与 OR 之间也要有空格分隔)

A OR B OR C

不包含某个关键词的笔记

要求搜索结果不包含某个关键词,即出现在搜索结果里。

方式:用减号 - 放于关键词前方(减号与关键词间可以有空格也可以不留空格,不影响)

-A

通常并不单独使用,而是在搜索结果里筛选掉部分结果。

A - B C

表示搜索结果 同时包含 A、C ,但同时不能包含 B。

指定搜索范围

搜索文件名

方式:file:关键词(英文冒号与关键词间可以有空格也可以没有)

file: A

注意,file: 关键词 这是作为一个整体存在的,相当于不加 file: 直接写关键词来搜索的整体一样。举例来说,就是如果你要搜索文件名同时要包含 A 与 B 的文件。你要如下书写:

file: A file:B 或 file:(A B) (小括号是英文输入法的小括号)

而不是 file: A B (这表示 文件名包含 A 且全文包含 B,B 不一定出现在文件名中);

file:A B 等同于 B file: A 。(file: 关键词 并非一定要写在最前面)

搜索文件内容

方式:content:关键词(英文冒号与关键词间可以有空格也可以没有)

content: A

注意,content:A 与直接 A 是有区别的。直接 A 是既可以是文件名满足,也可以是文件内容满足,而 content:A 是得文件内容满足,如果文件内容没有 A 但文件名含 A 是不算的。

搜索标签

方式:tag:关键词(英文冒号与关键词间可以有空格也可以没有)

tag: A

tag: #A (非得加上井号的话,井号与冒号之间可以有空格也可以没有空格,但井号与关键词之间不能有空格)

注意:

  • 这里的标签匹配是完整匹配,比如

    tag: 写 只能匹配 #写 或在 文件最开头用上下 --- 隔开的 tags 或 tag 中定义的标签 ,并不能匹配 #写作。你要想匹配 #写作,就得写成:tag: 写作

  • 匹配是匹配一级标签是关键词的标签,比如

    tag:写作

    可以匹配到

    • #写作
    • #写作/人物
    • #写作/人物/神态

    但不能匹配到

    • #爱好/写作
    • #生活/爱好/写作

标签的两种定义方式:

  1. #A #B #C

  2. ---
    tag: A B C
    ---
    
    或
    
    ---
    tags: A B C
    ---
    
    或
    
    ---
    tag:
    - A B
    - C
    ---
    这种换行方式,必须是无序列表(还得是`-` 不能是`*`),不能是有序,也不能直接换行不写无序符号就写标签名
    

    注意这些方式都必须是写在文件最上方,其前可以有空行,但不能有非空的文字内容。并且标签前是不能加井号的(如#A)。

搜索同一行的多个关键词

这里的行是 Markdown 定义的”行“(Markdown中一个回车算一行,回车后是新行,和之前的行同属于一个Markdown意义上的段落/块。Markdown理解的段落/块是同时敲下两次回车,那么新行才与之前的内容不属于同一段落/块)。

搜索文件,要求满足包含某个段落,这个段落中同时包含多个关键词。(所谓的同一个段落,就是没有输入过回车,无序/有序列表回过车自然也不算同一段落)

方式:line:(关键词1 关键词2 关键词3) (左边小括号与冒号之间可以有空格也可以没有空格)

line: (A B C)

这得有小括号才有意义,否则 line:A B 仅仅是表示搜索笔记,这个笔记中某行里包含 A,且笔记包含 B 关键词,而非同一行(段落)内包含 A 与 B。

搜索同一段落/块中的多个关键词

Markdown中,两次回车(即视觉上中间得有一个空行分隔的两段内容)才算是不同的段落/块。

方式:block:(关键词1 关键词2 关键词3) (左边小括号与冒号之间可以有空格也可以没有空格)

block: (A B C)

文件1内容:
Akfjdlksjflskdjfsldkjlkj 
Bfjskldfjalk 
fsadfasC

文件2内容:
Alskdjf;slkdjfB

C

则,文件1会出现在搜索结果中,文件2不会出现在搜索结果中。

搜索同一章节中的多个关键词

同一章节是指两个标题之间的内容,即这些内容中不存在一个行里有任何级别的标题(包括更低的子级别的标题),甚至只写井号(不超过6个,超过6个(>=7)无所谓已经不算标题了)不写内容的行也不行(因为会被识别为标题)。

方式:section:(关键词1 关键词2 关键词3) (左边小括号与冒号之间可以有空格也可以没有空格)

section: (A B C)

文件1内容:
## 标题2
A
B


C
### 标题3
D

文件2内容:
## 标题2
A
B


### 标题3
C
D


则搜索结果只有文件1,没有文件2。

任务搜索

任务:

  • 任务1

  • 任务2

方式:

  • 不区分完成情况:task:关键词 (关键词与冒号之间可以有空格也可以没有空格)

    task: A

  • 搜索完成的任务:task-done:关键词 (关键词与冒号之间可以有空格也可以没有空格)

    task-done: A

  • 搜索未完成的任务:task-todo:关键词 (关键词与冒号之间可以有空格也可以没有空格)

    task-todo: A

若搜索所有任务,则不写关键词,而用英文符号的一对双引号来代替。

task: “” (双引号中可以有0~1个空格,不影响,但不能有2个或以上空格)

task-done:“” 显示所有完成的任务

task-todo:“” 显示所有未完成的任务

搜索结果保存

方式一:

可以用搜索结果右上角的功能 “复制搜索结果”,将搜索结果复制,并粘贴到文件中,作为本次搜索结果的保存,这样就不用每次去搜索一遍。

优点:

因为本身就是实打实的字符串粘贴,所以用别的 Markdown 编辑器打开这篇笔记,也能看到完整的搜索结果。

方式二:

使用 “代码形式”:在笔记中写入

```queary
task-done:""
```

这样,在 Obsidian 中就能查看这个搜索结果,但也仅仅是在 Obsidian 中才能看到,别的 Markdown 编辑器打开这篇笔记,只能看到这个代码块字符串,并不能看到搜索结果。

Obsidian 中,如果想进一步修改代码块以搜索别的内容,只需要点击代码块变成的搜索结果的右上方按钮</>就能重新变为代码块,即可以修改搜索的关键词。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值