FSearch 推荐,索引式的 macOS 全盘文件搜索

在 Mac 上找一个只记得名字的文件,系统搜索慢吞吞,按文件夹翻更慢。一位开发者上周放出了自制的全盘搜索工具,开发者一句话宣传很嚣张,毫秒级全盘搜索,比 Finder 快一万七千倍。项目三天拿了千颗星。我把仓库文档、宣传帖与第三方考证都过了一遍,工具是真的好,数字要拆开看,好与水分分开讲。

主要功能

实现路线是索引式,先全盘爬一遍建索引,之后查询只查索引。机器上的增量跟踪让变更约零点一秒生效,重启只回放增量不重建。开发者给的基准自述如下,八百万文件的盘,首次索引四十九秒,峰值内存零点九G,索引体积零点七六G,之后按名搜索零点一三毫秒,边打字边出结果全程三毫秒,内容搜索二点三毫秒,毫秒是什么概念,一次眨眼的三百分之一,搜索框跟手的错觉由此而来。数字按自称口径对待,但索引式对实时遍历式的代差是架构级的,不靠运气。与同类索引工具的对比也有数字,按名搜索快七十倍上下,内容搜索快三十倍上下,常驻内存只有对方的七分之一,数字同样按自称口径。顺带一句实现的讲究,文件名索引放在单个内存映射文件里按目录分段,还配了字母位图预筛,快不是玄学。

查询语法很丰富。模糊匹配容忍拼写错误,前缀后缀精确匹配,排除词,按扩展名类型大小修改时间过滤,结果数量也能限制,翻页不翻页自己定,内容搜索走三字母索引,相同文件只索引一次,正则与符号查找都在。命令行与界面共享同一份索引,还提供本地接口供其他程序调用,接口走本地套接字与标准输入输出两种通道,还发布了库形式,嵌入自家工具一行调用,程序员的接受度因此高一截。

那个一万七千倍

宣传数字的口径要如实交待。开发者原帖没给测试方法,第三方考证给出的更准确说法是,在被安全代理拖慢了每次目录读取的机器上,它比某个知名实时遍历工具快约一万七千倍。换句话说,参照物被系统安全机制坑了,这个倍数是极端场景的对比,日常收益是毫秒对秒级的量级差,够惊人但别按宣传语理解。换个角度替开发者说句公道话,营销话术归话术,工具文档里的基准数据倒是给足了方法与样本量,比多数同类诚实,诚实还体现在权限自曝,权限不足静默跳过这件事文档写得明明白白。开发者自己也说这是做着玩的周末项目,没想跟谁竞争,作者的正职在后端与性能优化,职业习惯全写在这个项目里,索引结构选得讲究。

解决了什么需求

重度文件工作者与开发者是第一批用户,素材管理与代码检索两大高频场景,一个吃文件名快查,一个吃内容正则。设计素材、日志、代码文件堆到百万级后,系统搜索基本不可用,索引式方案在 Windows 上早有事实标准,macOS 这边一直是空档,这个项目补的就是这个空。同名的 Linux 老牌搜索工具容易混淆,认准仓库作者,别下错平台。安装使用前两个注意点,需要给工具与终端分别授予完全磁盘访问权限,没权限的目录会被跳过而不是提示,装完先检查权限,重新编译版本需要重新授权一次,路径变化系统会当新程序对待。另外中文拼音搜索暂不支持,论坛讨论里这被点名对比,按拼音找文件的用户等后续,拼音是中文用户的肌肉记忆,这个功能的优先级开发者不会看不见。

一句话收尾,架构选对了一切都顺,常驻的代价极低,几十兆内存换毫秒级全盘检索,这买卖谁都会算,这个周末项目值得常驻菜单栏。

来源

  • 开源仓库 https://github.com/noahdunnagan/fsearch
  • 开发者宣传帖 https://x.com/itsnoahd/status/2108257494841827721
  • 第三方考证 https://ai.thesatyajit.com
  • 小众软件报道 https://www.appinn.com/fse/