搜索能不能从结果当中批量选择?

比如我想要从文档当中搜索和筛选出含有关键词“工具”的段落。

我只能在文档手动 Ctrl+ 点击,选择段落?

如何从搜索结果当中批量选择?

  • 思源笔记

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

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

    21024 引用 • 82645 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7459 引用 • 33902 回帖 • 198 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 应该不行。你是想实现什么需求?

    1 回复
  • artist
    作者

    比如说,我有一个记事本 A 文档,记录了多个任务/段落

    另外一个记事本 B 文档,也记录了多个任务/段落

    现在要快速从 A 当中筛选某些段落,迁移到 B

    目前,手动选定是可以实现的……但要从多段当中一段段的目测查找,复选,比较麻烦。

    而从搜索结果,则只能一次次的选择和移动……

    1 回复
  • 我估计没有很好的办法了。

    我想到的是这样的流程,但估计也差不多:

    1. 使用 文档高亮搜索 插件,在某个页签中搜索关键词
    2. 目测查找需要移动的块
    3. 多选迁移
  • 查询除了官方自带的搜索功能,还有 SQL 查询,当手动查询不方便时,我们可以考虑 SQL 查询。

    根据你的描述,我觉得有两种方法:

    1. 如果你的 A 文档和 B 文档相似,只是某些段落不同,可以用对比工具,然后同步差异即可。

      对比方法又有两种:

      1. 插件对比,比如,比较与合并文档插件。

        image.png

      2. 外部工具对比,可以把两个文档先导出为 Markdown,然后用对比工具(比如 vscode,beyond compare)进行文件对比,对比后同步差异后复制到或再导入到思源即可。

    2. 如果 B 文档和 A 文档没什么关联,仅仅想把 A 查询结果复制到 B,可以使用下面的脚本提取并复制到剪切板,然后粘贴到 B 文档即可。

    代码:

    //!js
    return (async () => {
        /////// 主逻辑区 ///////
        // sql查询
        const sql = `select markdown from blocks where type='p' and markdown like '%工具%'`;
        const result = await query(sql);
        // 无数据提示
        if(result.length === 0) return error('未找到任何数据'); 
        // 过滤数据
        const markdowns = result.map(row => row.markdown);
        // 写到剪切板
        const clipboardText = markdowns.join("\n\n");
        await navigator.clipboard.writeText(clipboardText);
        // 渲染结果
        return render('查询结果已复制到剪切板');
    
        /////// 功能函数区 ///////
        // 查询SQL函数
        async function query(sql) {
            const result = await fetchSyncPost('/api/query/sql', { "stmt": sql });
            if (result.code !== 0) {
                console.error("查询数据库出错", result.msg);
                return [];
            }
            return result.data;
        }
        // 渲染结果函数
        function render(html, style) {
            onRender('.b3-form__space--small').then((container) => {
                container.style = style || 'color:var(--b3-card-info-color);';
                container.innerHTML = html;
            });
            return [];
        }
        // 渲染错误输出
        function error(html, style) {
            return render(html, style || 'color:red;');
        }
        // 监听dom渲染
        function onRender(selector) {
            return new Promise(resolve => {
                const check = () => {
                    let el = item.querySelector(selector);
                    if (el) resolve(el); else requestAnimationFrame(check);
                };
                check();
            });
        }
    })();
    

    使用方法:

    在任意文档中输入 {{}} 在弹出的对话框中输入下面的代码,然后关闭窗口即可。

    执行结果:

    image.png

推荐标签 标签

  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    73 引用 • 1737 回帖
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    130 引用 • 793 回帖 • 1 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 392 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    29 引用 • 111 回帖
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 71 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 910 回帖 • 225 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 28 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    149 引用 • 3772 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    5 引用 • 62 回帖 • 3 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 50 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 728 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 142 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 373 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 626 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    11 引用 • 90 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 628 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 450 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 195 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    398 引用 • 1246 回帖 • 594 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 582 关注
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖 • 2 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    406 引用 • 3568 回帖
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 268 回帖 • 85 关注