关于搜索性能问题

我个人感觉自从更新了按文档分类搜索后搜索时间增加了很多,目前我搜索一个东西无论是文档内还是全局搜索都是 5 秒左右,但是之前基本都是 1 秒就行,这导致我当初第一时间更新后又回退到旧版本了,旧版本的搜索还是很流畅。这两天发布了 2.5.3 后我又更新试了试但是发现搜索性能还是不行,我不知道是什么原因导致的,试过换成默认主题速度还是慢。跟之前速度对比起来确实相差好几倍。

但是在 2.5.3 我选择不分组搜索后速度还是很慢,我也不清楚是什么原因导致的。

我不知道有没有同样遇到这种问题的。

  • 思源笔记求助问答

    使用思源笔记过程中遇到问题的话请在这里寻求帮助。

    3923 引用 • 13694 回帖 • 22 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • zhaoshengmu
    订阅者 作者

    我导入 github 的这个发现搜索速度确实挺快,比我的笔记内容搜索起来快多了,这是什么原因,我的笔记肯定没有导入的这个多。那个搜索结果条目如果设置小了会不会导致有些没被搜索出来?(哦对今天我发现代码语言中没有 vue,typora 中是有的)

    1 回复
  • 其他回帖
  • 88250
    订阅者

    设置太大的话没有意义吧,比如设置为限制 2K 条,那么这些结果就算命中了也看不完吧。

    我举个例子,比如默认设置 64 条,如果整个库中只有 3 条符合条件,那么结果就命中这 3 条,不会出现搜不到的情况,这个条目数设置并不需要超过库中的块数。

  • abbj
    支持者 订阅者

    我能理解你限制命中条数的思路了。确实是,可以通过优化关键词和添加其他限制条件来提高命中结果的精确程度,但是目前存在两个问题:

    1、目前的搜索 ui 不够完善,想达到以上目的只能使用 sql,这个门槛太高了。我日常使用的一些商业化网站(用于搜索法规或者搜索上市公司公告,都是各类纯文本内容),几乎都能做到分别针对标题、内容、发文单位、所在板块、发文时间等多个主题设置不同的关键词,且允许设置多个关键词之间的且和或的关系,还允许设置多个关键词之间是在同句、同段或同篇文字出现,以及明确排除某些关键词(即制定不包含某些关键词)。做的好的,甚至能够就特定事项列出专门的搜索框(例如某事项是否审核通过,因为这类事项不是类似发文单位这种文件中现成且固定出现的内容,通过简单的搜索关键词很难保证结果全面,网站应该是做了专门的工作,感觉属于语义分析范畴)。而思源目前的搜索离我举的例子还有很大差距。

    2、即使做到以上程度(或者用 sql),在我的使用场景中,如果程序存在对命中条数的限制,因为没办法准确记得自己想要找到的完整内容,依旧会有搜不到特定内容的可能(我无法判断是我的搜索条件设置不准确导致搜不到,还是我的笔记不包含相关内容,或者是被程序的命中条数限制了所以不显示)。因此,最终还是需要通过比较简单的关键词来显示一个比较大范围的命中结果(确保包含了我目前笔记中的全部相关内容)之后进行肉眼筛选。所以,前段时间上线的分组功能很重要,即使命中结果很多,我也可以依据法规名称快速排除我不需要的项目(这种判断依靠的是我对该法规所覆盖内容的记忆,感觉很难简单的通过各种关键词设置来实现相同的目的)。

    所以,在我的使用场景中,优化搜索功能很重要(完善 ui,优化性能),希望 D 大考虑一下,是不是把相关优化工作的优先级提升一下 🙏

    1 回复
  • abbj
    支持者 订阅者

    systemlog.zip

    已提供日志。

    刚才又仔细观察了一下,我所说的搜索时间长是指从输入完整的关键词到 ctrl+p 界面完整显示内容需要比较长的时间,中间大部分时间页面是空白的转圈状态,所以,不一定是搜索效率低,也可能是显示内容需要的时间长。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 532 关注
  • 周末

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

    14 引用 • 297 回帖 • 1 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    5 引用 • 11 回帖 • 1 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 66 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    513 引用 • 3611 回帖
  • Node.js

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

    135 引用 • 267 回帖 • 370 关注
  • 黑曜石

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

    A second brain, for you, forever.

    9 引用 • 30 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 383 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    18 引用 • 178 回帖 • 68 关注
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    23 引用 • 187 回帖 • 24 关注
  • Quicker

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

    15 引用 • 66 回帖
  • 电影

    这是一个不能说的秘密。

    119 引用 • 592 回帖
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    105 引用 • 297 回帖
  • CodeMirror
    1 引用 • 2 回帖 • 57 关注
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 5 回帖 • 1 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    46 引用 • 83 回帖 • 1 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 399 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    161 引用 • 590 回帖 • 2 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 347 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    34 引用 • 103 回帖 • 6 关注
  • ZeroNet

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

    1 引用 • 21 回帖 • 565 关注
  • Gitea

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

    3 引用 • 16 回帖 • 1 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    9 引用 • 117 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    57 引用 • 29 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    195 引用 • 354 回帖 • 44 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • 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 引用 • 65 回帖 • 3 关注