FilePulse 一款高效搜索工具。支持中文搜索,拼音搜索,拼音首字母搜索。文件夹的大小将自动实时计算,支持 HTTP2/HTTP3。

3 天前
 hkhk366

FilePulse 简介

FilePulse 是一款高效的对象信息搜索工具,对象包括 文件名文件夹,支持 中文搜索拼音搜索拼音首字母搜索
文件夹大小将 实时计算,文件修改也会 自动同步 到本系统。
系统支持 HTTP2/HTTP3 协议。

7900x + DDR5 (未超频)Windows 11 系统下,FilePulse 可以实现:

未来计划增加 毫秒级文件内信息搜索 功能。

本软件的初衷在于主在研究高效的搜索算法,现在是一个 DEMO 版本,功能还有一些 BUG ,前端也很丑,后续会慢慢完善。

下载地址

打赏,有你的支持是我前进的动力


启动说明

  1. 修改 hosts 文件,添加:127.0.0.1 test.com
  2. **编辑 config.json**,在 drive_list 中添加要搜索的盘符。
  3. **以管理员权限运行 FilePulse.exe**。
  4. 打开浏览器,输入https://test.com然后输入默认用户名和密码都是root即可进入搜索页面

使用说明

搜索参数

参数 说明
Search Content (搜索内容) 关键字,每个条目以 \| 分割
Mode (搜索模式) 正则通配符
Search By (搜索项目) name(对象名)或 full path(完整路径)
Case Sensitive (大小写敏感) 是/否
Sort By (排序方式) name / full path / size / modified
Sort Ascending (排序顺序) Ascending(升序) / Descending(降序)
Content Plugin (内容插件) pinyin(拼音搜索) / pinyin_first_letter(拼音首字母搜索)
Modified From (修改时间左边界) 为空表示所有过去的修改时间
Modified To (修改时间右边界) 为空表示所有到现在的修改时间
Size From (对象大小左边界) 单位 MB,可为空
Size To (对象大小右边界) 单位 MB,可为空

搜索结果

在搜索结果条目上 右键 可进行:

  • 复制对象名
  • 复制对象路径
  • 在系统管理器中定位文件
  • 远程下载文件

界面信息:

  • 左下角:显示当前搜索匹配的总条目数
  • 右下角:分页数量与当前页号

快捷键

快捷键 说明
Alt + 1 / Alt + 2 / Alt + 3 切换 Content Plugin
Alt + Page Up / Alt + Page Down 切换分页

高级使用

信任证书

可手动将自带的 开发证书 添加为 受信任证书

更换证书

自带证书为 开发证书,如需更换真实证书:

  1. 替换 certs 目录下的文件。
  2. 修改 static 目录下的前端 test.com 为你的域名。

开启 HTTP3

默认同时开启 HTTP2 / HTTP3,但由于开发证书问题,可能会自动降级为 HTTP2
更换为 真实证书 后,即可正常使用 HTTP3


相对于其他同类产品的优势

  1. 核心算法自主可控,未套壳任何搜索系统。
  2. 支持 高性能拼音搜索拼音首字母搜索中文搜索
  3. 支持 HTTP2 / HTTP3 协议,可 远程操作远程复杂查询,未来将支持 远程播放
  4. 文件夹大小实时计算,所有数据 实时同步
  5. 内存动态增减,当大量文件删除时,内存会 自动回收
  6. 支持暗色模式

未来计划

  • 毫秒级文件内信息搜索 功能。
  • 优化启动时瞬时内存占用(涉及架构重构)。
  • 进一步优化启动时间和搜索时间
  • 支持远程文件播放、远程编辑、远程差异同步

动画教程

录像会消耗性能,所以录像中显示的性能会略低于实际性能。

界面截图

1600 次点击
所在节点    分享创造
26 条回复
moioooo
3 天前
看起来很牛啊!
misaka19000
3 天前
闭源的
busuzhike
3 天前
比 everything 有什么优点?
Tink
3 天前
有点厉害啊
moioooo
3 天前
只有文件名么,可以实现 anytxt 那种文本内容检索?
cat9life
3 天前
如果可以提供和竞品的对比就好了
hkhk366
3 天前
@cat9life 早就有详细对比在 github ,主要优势未来计划都在里面,v2ex 没法写这么全,内容越长 V2EX 扣费越多

https://github.com/FilePulseSoft/FilePulse
hkhk366
3 天前
@moioooo https://github.com/FilePulseSoft/FilePulse 在未来计划有提到,这个是第一步,未来会支持毫秒级文件内容搜索,将会成为一个既可以搜索文件名又可以搜索内容的实时搜索系统。
moioooo
3 天前
@hkhk366 是我没仔细看。目前使用上麻烦,不好推荐给朋友。而且开了 clash 会导致登录不了,估计是 hosts 的原因。
速度和准确度看着挺好。
hkhk366
3 天前
@moioooo 没关系,目前是 demo 版本主要研究的是搜索核心算法的性能。其他这些问题我会后续解决。因为只有先解决了文件名搜索下一步才能解决文件内容搜索。

顺便说一句,如果不想用 hosts ,也可以采用 https://github.com/FilePulseSoft/FilePulse 里面提到的“方案一:极简启动”,如果只希望在本地运行的话,可以直接输入 https://127.0.0.1 ,这样就不需要改 hosts 了。

我做这个工具的初衷是由于我需要远程对机器上的文件进行搜索,下载等操作,所以我才选用的 http2/http3 ,而 everything 的 http 服务是 http1.0 ,这个实在太老了,无法支持未来我的远程办公,远程协作,远程差异化存储等操作。所以我才下定决心做一个自己的。
dranfree
3 天前
没开源啊
llsquaer
3 天前
管得以后用不用,先 star 一个
wheat0r
3 天前
适合卖给做 nas 和云存储的品牌
NoOneNoBody
3 天前
@hkhk366 #10
everything 有 sdk ,可以写入自己的 web 或其他项目代码,不一定用它的 http
hkhk366
3 天前
@NoOneNoBody 你说的这些问题我当然都研究过,他自己的 SDK 功能很不全,和他自己的搜索差很多。而且只有自己写出来核心算法才能真的学到东西,成天调 SDK 就只能永远只做个一个调包侠。
NoOneNoBody
3 天前
@hkhk366 #15
立场不同
对于不打算深入研究的人,用 sdk 二次开发做个“调包侠”很正常,又不是打算自己重写一个(而你的立场就是自己写一个)
而一般用户甚至听到 sdk 就懒得继续听下去

我自己弄了个媒体管理,但网上一大堆成品或半成品,就是满足不了我的需求才去研究的,这种情况我也是不想做调包侠;但其中简易搜索部分就用了 everything sdk
但对其他人来说,根本就没那么大的动力去研究核心算法,快捷、方便,能用就行,有现成的为何自己写?

推广不要只站在自己立场,对一般用户的推广,重点应是实用 featured ,技术优势最好通过可视化数据体现


我说一下 everything sdk 几个满足不了我的需求,需要我二次开发的,你这项目里我也没见到,不妨参考一下:
0. 自然排序、拼音排序,这个是强需求
1. 对于 symblink(软链、硬链、junction)的一个 folder ,无法统计总字节数
2. 按媒体 meta 搜索
3. hash 比较,扩展为重复文件搜索,例如提供一个文件路径,在指定范围搜索重复文件(当然实现这个就复杂了,且缓存 hash 索引也很耗资源)
4. 搜索空目录或 0 字节文件
5. 搜索自定义类别 tag ,如没什么实际作用的缓存文件,thumbs.db, xxx.url 这些
6. 乱码问题(涉及中日韩非 unicode 编码)
7. 短路径 8.3 格式
8. 结果导出

你这个还有一些最基本的功能缺失:
1. 搜索过滤:基于文件类型,还有类型排序,例如搜“庆余年”,用户需求不是搜文件,而是目录名
PS: 我过亿图片,搜目录远比搜文件频繁
2. 对 symblink 显示源路径,最好还能复制源路径,everything GUI 能显示,右键可复制

暂时想到这些
hkhk366
3 天前
@NoOneNoBody everything 开放的 sdk 功能很有限,这是理所当然,如果开放的功能超过其本身就会功高盖主。对于那些只需要短暂用一下的项目,sdk 是可行的,因为这种项目出发点就仅仅是能用而已。但是我的出发点是做一个大系统,我认为为了支持更多的功能,自研算法是唯一出路。我喜欢研究底层原理,不管做什么,我喜欢了解底层原理。在研制核心搜索算法的过程中我也提高了很多,这些技术积累将用于我其他的工作上,我认为非常有益。

至于你说的这些 everything sdk 无法满足的这些,因为我算法是自研的,我全都可以做到,无非是花时间的问题了,如果一开始用了受限的 sdk 再去想加一些功能甚至比自研还要麻烦。
humbass
3 天前
最烦这种闭源的还放 github 的,直接建一个网站卖授权不就行了。
NoOneNoBody
3 天前
@hkhk366 #17
你没有理解我说什么

我不是否定你对这个项目以及开发过程的热爱

就这样说吧,我要搜“庆余年”的目录,你这项目能把目录结果排在第一么?
我这用 everything 搜这个有上千条结果,一堆图片和两季几个版本的视频,但目录只有不到 10 个,我用 filter:folder 搜就这几条,快速达到目的;贵项目没见到这方面说明

如果你这项目做不到,everything 能做到,你觉得我会为了快一秒选贵项目么?
你跟用户说,“装了吧,等我研究以后就有了”?
那我现在是不是应该放弃 everything sdk ,停工,然后耐心等你完成这些功能后,我的代码才继续写呢?

在市场,用户不在乎你有多快,只要在可接受范围内,不慢就行,“能”比“快”更重要
如果你觉得算法更重要,那应该到技术杂志发算法论文更合适
hkhk366
3 天前
@NoOneNoBody 我也没逼着你用啊,你说的一切无非是加个功能而已,everything 做了 20 年,都没满足你的全部需求,让我上来满足一切?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1110175

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX