onenote CAS总结⑦:异常“强大”的搜索机制(转载)

article/2025/9/30 0:00:34

转载地址http://cas01.com/7335.html

onenote CAS总结⑦:异常“强大”的搜索机制

原创 小斯  2021-02-06 18:10  

onenote的中文搜索,相当尴尬,可以说是功能最强和最垃圾的混合体!至少在我用过的软件中,没有哪个的搜索功能比onenote强,同时,也没有哪个比它更垃圾。

1

强大又垃圾的onenote搜索

最强的搜索机制

onenote不只是能搜索纯文本,连手写、图片、录音、录像中的文本类信息都能给搜索出来。

而且,onenote中的搜索模式丰富:支持模糊搜索和精确搜索,支持AND、OR等逻辑运算符来优化搜索组合。

仅从onenote搜索支持的功能上来看,确实很强大。

最垃圾的搜索机制

这里说的垃圾,主要针对onenote桌面版的中文搜索,各种令人发指的Bug,简单概括就是:明明就在眼皮底下的内容,它就是搜索不到,或搜索不全。在这种可恶的Bug下,搜索功能几乎可以算形同虚设了,还有哪个软件比它更差吗?

具体Bug会在本文后面的小节中详谈。

但搜索还得用,面对这个强大又垃圾的搜索机制,该怎么办?微软不会解决Bug,所以想从根上解决问题几无可能,只能在弄透当前搜索机制的基础上,寻找对应的应对方法。

2

两种搜索模式,模糊与精确匹配

在很多软件(例如word)中,搜索的关键词是什么,就原样匹配什么结果。但在onenote中,情况却不一样。onenote搜索的匹配模式可以分成两类:模糊匹配、精确匹配。

模糊匹配

onenote默认的匹配方式是模糊匹配。例如,搜索“反思之镜”这个词,以下结果全部会被匹配:反思、之、镜、只、脂、竟……更绝的是,本尊“反思之镜”这个词,反而不会被匹配。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第1张

模糊匹配的思路大概是:根据软件内部的标准词库,先对搜索词进行分词处理,然后对分词结果进行逻辑“或”匹配。

onenote用了这么多年,个人对这种匹配思路从未有过一丝好感。至于项目组如此设计的初衷是什么,就不得而知了。

精确搜索

如果你需要完全匹配一串字符(例如“反思之镜”),为该串字符加上英文状态下的双引号后进行搜索即可,此时得到的就是完全精确的匹配结果。

注意,若使用的是中文输入法下的双引号,得到的结果仍然是模糊匹配。

3

图片、手写、录音、录像搜索

前面介绍的其实就是纯文本搜索。onenote还可以搜索图片、手写、录音、录像等笔记元素中的文本信息,这些搜索能得以实现,依赖的是onenote极具特色的底层机制。

图片搜索

onenote具备OCR (Optical Character Recognition,光学字符识别,即将图片中的文字转换为文本格式)功能,能识别图片中的文字,而且效果不错。

onenote的搜索机制也继承了这个OCR功能,进行搜索时,能自动匹配图片中的文字。

图片中的文字需要有一定的清晰度。

手写(绘图笔记)搜索

onenote可以将手写文字转换为文本文字,这也是onenote的强大功能之一。这个功能也被继承到搜索机制中,onenote可以搜索到手写的中文词组。

录音、录像搜索

要进行录音、录像搜索,必须先去onenote选项"录音和录像"中勾选启动录音搜索。

新建一个录音后,马上搜索录音里面的文本信息,此时可能搜不到结果,因为在软件打开状态下,onenote需要花两到三倍录音时长的时间才能建立好录音索引。

4

搜索范围及结果展示

指定搜索范围

onenote中有五种搜索范围:此页、此分区、此分区组、此笔记本、所有笔记本,其实就是onenote的目录层级。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第2张

有两个常用的快捷键:Ctrl+F,在当前页面查找;Ctrl+E,搜索此分区。

可以将除“此页”之外的另外四个范围设置为默认搜索范围。

搜索顺序,隐藏的优先级

软件在搜索时,在层级上是有默认的优先级的。输入关键词后,搜索,弹出即时预览搜索结果窗口:最先显示的是“最近所选的分区”,最近搜索后选择过的分区会出现在这里;然后是“在标题中”,即页面标题中含有匹配结果;最后是在“正文”中或“页面”上。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第3张

这个优先级有启示意义,标题的优先级明显高于正文,所以,为页面设置一个信息全面的好标题是有助于提高搜索效率的。

展示搜索结果

注意两个搜索结果窗口的区别,开始搜索时,会出现一个悬浮窗口显示结果,点击左下角的“固定搜索结果”,就可以在右侧显示固定的搜索结果窗口,后者功能更全面。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第4张

5

搜索原理,重建索引

onenote桌面版的搜索原理

onenote中内容那么多,是如何做到瞬间就能搜出所有结果的?靠提前建立好的索引。

onenote桌面版的即时搜索功能,依赖于操作系统的Windows Search服务,onenote的内容索引就是通过该服务建立的。默认情况下,该服务自动开启,但如果发现即时搜索出现明显异常,可以先检查是否启动了Windows Search服务。

开启Windows Search服务

打开控制面板,搜索“服务”,查看本地服务。找到“Windows Search”,启动即可。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第5张

如果“Windows Search”处于开启状态,onenote中仍然无法进行即时搜索,此时,可以考虑手动重建索引。

重新建立索引

重建索引的完整步骤可以参考此文:onenote搜索机制详解⑥:搜索原理,重建索引

重建索引完成后,如果还是存在搜索问题,那就需要进一步检查,是否属于软件自身的Bug?

6

中文搜索Bug

以下示例中,搜索关键词“反思”,黄色代表已匹配,红色代表本来应该匹配,实际却无法匹配。

①. 段首以非中文开头,一般,搜不到后面的关键词

例如段首以数字、字母、符号、日文、韩文等字符开头时,搜索不到关键词。

注意,自动编号并不算作内容字符,例如下图中的自动编号“1”、“A”是内置格式,而非内容,真正的内容仍然是以“小斯想”开头,所以能被检索。

有一种例外情况,例如字母和数字开头时,关键词前若用符号隔开,就能匹配,但其他情况下仍然不能匹配。

②. 非手动输入内容,全部或部分搜索不到

只要不是手动输入的内容,都可以归到这类。例如从外面(例如网页)复制粘贴、三方插件发送进onenote,等等这样的内容。

全部搜索不到,无需举例了。部分搜索不到,例如下图,黄色代表已匹配的结果:要么在段首,要么字符串前面有符号分割,才能匹配。而其他情况下均无法匹配。

弄清楚这些可能存在的Bug,然后有针对性地建立起一套相对高效的搜索范式。

7

相对高效的搜索范式

根据前面的内容,针对性地总结了下面几条建议,供参考。

多用精确搜索

默认的模糊搜索,一般而言,其结果是相当令人抓狂的,多数情况下,我们需要的是精确匹配。

外部导入内容,在标题处添加标签

对于某些外部导入内容,搜索形同虚设。如果这类内容占比较大,可以手动添加一些主题标签。

例如可以在标题中的第二行手动添加标签,标签应尽量对当前页面的内容进行一个大致定位。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第6张

尽量用自动编号

段首以字母或数字开头时,可能导致后面的内容无法被检索。这类情形,较常见的就是编号了。

用onenote的自动编号,不会遇到搜索Bug。所以,建议用自动编号代替手动编号。

用宏进行精确的局部搜索

对于确认已经存在搜索Bug的对应内容,onenote检索不到的,也不可能逐字去查看。此时,可以让宏替你逐字检索。

Onetastic网站上有类似的查找宏,选择合适的即可,或者自己写。这类宏的检索方式并不依赖于索引服务,而是遍历字符进行匹配,查找起来较慢,但是绝对精确。建议局部搜索时使用,当然,如果打开的笔记本内容不多,也可以对全部笔记本进行搜索。

例如,我常用下面这个宏(Onetastic脚本分享15)进行当前页面搜索。

onenote CAS总结⑦:异常“强大”的搜索机制 onenote 第7张

面对这些不会被修复的Bug,只能在了解搜索机制和相关Bug的前提下,寻找应对方案。根据个人的使用习惯,建立搜索规范。


http://chatgpt.dhexx.cn/article/jLOVl31N.shtml

相关文章

VisualStudio如何进行OneNote插件开发?

文章目录 0.引言1.工具和数据准备2.创建工程3.创建ribbon配置文件4.编写功能代码5.安装和部署6.OneNote插件展示 0.引言 在OneNote做笔记很方便,但笔者用久后,就觉得OneNote缺少自己想要的一些功能,希望通过二次开发实现不断增长的需求。起初…

如何卸载Onetastic

Looking for an effective solution to uninstall Onetastic (64-Bit)? Download professional uninstaller to get rid of it now! Download Onetastic (64-Bit) Removal Tool Tested Malware & Virus Free by McAfee™ Failed to uninstall Onetastic (64-Bit) through …

onenote运用onetastic和notehighlight插件

一、两个免费插件 插件1:onetastic 查件2:notehighlight 或(github) 其中onetastic可以添加宏(自定义或下载宏),便于快捷操作。如改变文本字体和字体大小、插入时间、横线、快速查找、替换等。notehighlight可以添加代码样式、主题(noteh…

VUE上传大文件的三种解决方案

最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等…

大文件怎样实现快速上传?

前言 大文件快速上传的方案,相信你也有过了解,其实无非就是将 文件变小,也就是通过 压缩文件资源 或者 文件资源分块 后再上传。 本文只介绍资源分块上传的方式,并且会通过 前端(vue3 vite) 和 服务端&…

大文件夹上传

目前没有这样的标准,可以把文件夹打包上传大文件。 webkitdirectory Booleanwebkitdirectory属性(如果存在)指示用户在文件选择器界面中只能选择目录。有关HTMLInputElement.webkitdirectory其他详细信息和示例,请参阅。 虽然最初…

往GitHub上传大文件

1.下载Git Git - Downloads 2.下载GitLFS https://git-lfs.github.com/ 3.复制URL 4.在本地创建文件夹,右键Git Bash Here 5.粘贴URL进行下载--下载到本地 git clone URL 6.转到克隆到本地的文件夹内,运行git lfs track--进行文件定位 若要查找所有…

上传大文件的解决方案

上传大文件的解决方案 需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步: 前端修改 由…

大文件上传解决方案

之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需求,都能得到…

GitHub上传大文件(100MB以上)

GitHub上传大文件(100MB以上) Github桌面端和网站上都无法直接上传大于100MB的文件,此时就要借助 GitLFS才能实现大文件的上传。 文章目录 GitHub上传大文件(100MB以上)准备工作上传 准备工作 将GitLFS安装到Git的bin文件夹下 GitLFS下载链接:https:/…

大文件如何快速上传

之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需求,都能得到…

如何在GitHub上传大文件(≥100M)

学习工作中,有时会遇到需要将一些资源上传到GitHub的仓库(repository)上去,比如一些训练完的模型。但GitHub对于直接上传的文件有大小限制,超过100M的文件需要使用Git LFS才能上传。以下是我根据各位大神和自己的实操经…

大文件上传+解决方案

一、 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件夹进行上传; 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传。刷新页面后继续传输。关闭浏览器后保留进度信息。 支持文件…

前端上传大文件的解决方案

最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等…

JAVA上传大文件的三种解决方案

我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小限制,post没有) 2.表单的enct…

大文件如何快速上传?

前言 大文件快速上传的方案,相信你也有过了解,其实无非就是将 文件变小,也就是通过 压缩文件资源或者 文件资源分块 后再上传。 本文只介绍资源分块上传的方式,并且会通过 前端(vue3 vite) 和 服务端&…

Java如何上传大文件

1 背景 用户本地有一份txt或者csv文件,无论是从业务数据库导出、还是其他途径获取,当需要使用蚂蚁的大数据分析工具进行数据加工、挖掘和共创应用的时候,首先要将本地文件上传至ODPS,普通的小文件通过浏览器上传至服务器&#xf…

Github上传大文件(>25MB)教程

Github上传大文件(>25MB)教程 Github上传大文件(>25MB)教程安装git安装Git Large File Storage实例踩坑点1:failed to push some refs to踩坑点2:main与master踩坑点3:Failed to connect …

如何高效的上传大文件?

业务场景:在很多业务中会涉及到文件上传,对于上传的文件大小要求也相对比较广,对于小文件而言我们使用MultipartFile上传就能解决,对于大文件来说可能也就将文件拆分成多份,一份一份的上传,大部分业务是足以…

请问:怎么实现大文件快速上传?

关注公众号 前端开发博客,领27本电子书 回复加群,自助秒进前端群 前言 大文件快速上传的方案,相信你也有过了解,其实无非就是将 文件变小,也就是通过 压缩文件资源 或者 文件资源分块 后再上传。 本文只介绍资源分块上…