【插件】简易搜索 - 更高效的搜索方式

本贴最后更新于 208 天前,其中的信息可能已经事过景迁

preview.png

本插件旨在为常用的搜索操作提供简单快捷的搜索方法,主要功能包括:搜索类型过滤、关键词排除、当前文档(子文档)搜索以及搜索范围扩展。

搜索选项汇总:

  • 块类型过滤
    • d 文档块(仅在文档名上搜索,不会搜索文档包含内容块)

    • h 标题块(仅在标题名上搜索,不会搜索标题块下方内容块)

      • h+数字1-6 指定标题等级,如 h123 表示搜索 1、2、3 级标题
    • l 列表块(包含有序列表块、无序列表块和任务列表块)

    • i 列表项块

    • c 代码块

    • m 数学公式块

    • t 表格块

    • b 引述块

    • s 超级块

    • p 段落块

    • o 未完成的待办项(todo),O 已完成的待办项

    • L 表示带有链接的块,非思源标准的块类型

  • 关键词排除
    • -+要排除的关键词,排除指定关键词
  • -k(current) 在当前文档搜索
    • -K 可在当前文档及子文档搜索
  • -e(extension)扩展搜索

1. 搜索类型过滤

当使用关键词搜索时如何快速过滤想要的块类型?

搜索时在关键词后输入 -+块类型 即可在搜索结果中过滤指定类型的块。

例如,使用 历史 -dhi 即可搜索包含 历史 的文档块(d)、标题块(h)以及列表项块(i),同时搜索结果会按照输入的块类型排序,如上述搜索会按照文档块(d)、标题块(h)以及列表项块(i)的顺序排序。

blockfilting.png

常用的块类型有:

  • d 文档块(仅在文档名上搜索,不会搜索文档包含内容块)
  • h 标题块(仅在标题名上搜索,不会搜索标题块下方内容块)
    • h+数字1-6 指定标题等级,如 h123 表示搜索 1、2、3 级标题
  • l 列表块(包含有序列表块、无序列表块和任务列表块)
  • i 列表项块
  • c 代码块
  • m 数学公式块
  • t 表格块
  • b 引述块
  • s 超级块
  • p 段落块
  • o 未完成的待办项(todo),O 已完成的待办项
  • L 表示带有链接的块,非思源标准的块类型

2. 关键词排除

在搜索时如何快速排除不想要的关键词?

搜索时在关键词后输入 -+要排除的关键词 即可搜索关键词并排除指定关键词,并且关键词排除与搜索类型过滤可搭配使用。

例如,使用 历史 -中苏 -dhi 即可搜索包含 历史 但不包含 中苏 的文档块(d)、标题块(h)以及列表项块(i),同时搜索结果会按照输入的块类型排序。支持排除多个关键词,只需继续输入 -+要排除的关键词 即可。

keywordsexclusion.png

3. 在当前文档(子文档)搜索

**在当前文档搜索除了使用 **Ctrl+F 还能怎么做?

搜索时在关键词后输入 -k(current) 即可在当前文档搜索。搜索时在关键词后输入 -K 可在当前文档及子文档搜索。同样的,-k 可以与搜索类型过滤、关键词排除结合使用。

例如,使用 历史 -中苏 -kphi 即可在当前文档中搜索包含 历史 但不包含 中苏 的段落块(p)、标题块(h)以及列表项块(i),同时搜索结果会按照输入的块类型排序。

currentdocsearch.png

4. 搜索范围扩展

当想要搜索同时包含 中国历史苏联历史 的文档而这两个关键词又不在一个块内该怎么办?

搜索时在关键词后输入 -e(extension)即可搜索同时包含 中国历史苏联历史 的文档,注意 -e 不可与搜索类型过滤、当前文档搜索结合使用。

searchextension.png

5. 使用默认搜索方法

在使用本插件后,默认的搜索方法已被本插件屏蔽,那么如果想要使用默认的搜索方法该怎么办?

在搜索时使用 -+搜索方法+搜索关键词 即可使用默认的搜索方法进行搜索。默认搜索方法分别为:

  • w(keywords)关键字
  • q(query syntax)查询语法
  • s(SQL)SQL 语句搜索
  • r(regex)正则表达式

比如使用 -q中国历史 NOT 苏联 即可使用查询语法搜索 中国历史 NOT 苏联,使用 -s + SQL语句 即可使用 SQL 搜索。

7. 欢迎捐赠

sponsor.png

8. 更新日志

  • v0.2.0,支持高亮搜索关键词
  • v0.1.3,继续修复点击标签搜索问题
  • v0.1.2,修复点击标签触发搜索时关键词不为标签的问题
  • v0.1.1,扩展搜索时自动按文档分组,适配 2.11.4
  • v0.1.0,支持 -[oO] 搜索待办项,支持 -L 搜索带有链接的块
  • v0.0.12,适配 2.11.1
  • v0.0.10,支持搜索页签,新增 -K 在当前文档及子文档搜索
  • v0.0.9,支持搜索子标题
  • v0.0.8,扩展范围搜索忽略容器块
  • v0.0.7,支持 docker 及浏览器端
  • v0.0.6,扩展范围搜索显示到块
  • v0.0.5,扩展范围搜索按照修改时间降序排序
  • v0.0.4,修复 bug
  • v0.0.3,修复 bug
  • v0.0.2,提升扩展范围搜索的搜索速度
  • v0.0.1,初版
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22024 引用 • 87841 回帖 • 3 关注
3 操作
bgt 在 2024-04-11 21:48:05 更新了该帖
bgt 在 2023-12-27 22:56:33 更新了该帖
bgt 在 2023-07-15 10:47:26 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • yalidabuda

    666

  • 其他回帖
  • xznwood 6 评论

    反馈个我遇到的问题啊:

    装了简易搜索插件后,

    我点击标签,弹出的搜索框里会显示打上这个标签的文档,这步没问题,

    但问题是,搜索框里的文字却不跟着变成标签的内容文字,

    也不是总不变成,有时点击标签,搜索框里会变成标签文字,像 #标签# 这样的,

    但很多时候就是空的或者出现的是以前不知道什么时候搜索的文字,

    而出来搜索的文档是是我刚点击的标签对应的文档,

    就这样很迷啊,薛定谔的出现,

    然而我又很需要点击标签后,搜索框里也显示对应的标签文字,

    我也不知道是哪步错了或对了,为啥时灵时不灵,

    是需要设置还是就是有 bug 呢?

    如果禁用简易搜索插件,就不会有这样的问题了,但是很需要插件的功能,希望能看一下

    v0.1.2 已修复
    bgt 1 赞同
    @bgt 好厉害,思源的插件作者们水平高,说话好听,人也好,一反馈都很快跟进,感谢!
    xznwood
    @bgt 大神,试用了一下,好像还是不行,第一次点击标签可以搜索可以出现标签文字,但之后多次点击,标签文字还是上不了搜索框了
    xznwood
    @xznwood 确实没完全修好,后面再改
    bgt
    @xznwood v0.1.3 修复
    bgt
    @bgt 谢谢大神
    xznwood
  • leeyaunlong 1 评论

    3.0.9 下 不可用啊

    Uncaught TypeError: mutationsList[i].addedNodes[0].getAttribute is not a function
    at SimpleSearch.eval (plugin:Simple Search:316:52)
    eval @ plugin:Simple Search:316

    if (mutationsList[i].addedNodes[0].getAttribute('data-key') == "dialog-globalsearch") {// 判断全局搜索

    1 操作
    leeyaunlong 在 2024-04-13 22:04:52 更新了该回帖
    我这里测试正常,说说复现方法?
    bgt
  • 要是再能支持层级搜索就完美了哎,比如 查找 #标题 h 下面包含 cc 的内容. 和包含 文档 H 下面 包含 cc 的内容.

    比如 Finerepor -d > 安装 -h

    docker -d > 安装 -h

    docker -d > 网络代理 -h

    1 回复
  • 查看全部回帖