V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
hkhk366
V2EX  ›  分享创造

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

  •  
  •   hkhk366 · 3 天前 · 1567 次点击

    FilePulse 简介

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

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

    • 2.8 秒 全硬盘扫描 220 万个对象
    • 单次查询 性能 25 毫秒

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

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

    下载地址

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

    wechat

    启动说明

    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. 支持暗色模式

    未来计划

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

    动画教程

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

    how_to_use.gif

    界面截图

    screenshot2.png screenshot3.png screenshot1.png

    26 条回复    2025-02-13 11:39:20 +08:00
    moioooo
        1
    moioooo  
       3 天前
    看起来很牛啊!
    misaka19000
        2
    misaka19000  
       3 天前   ❤️ 2
    闭源的
    busuzhike
        3
    busuzhike  
       3 天前   ❤️ 5
    比 everything 有什么优点?
    Tink
        4
    Tink  
       3 天前
    有点厉害啊
    moioooo
        5
    moioooo  
       3 天前
    只有文件名么,可以实现 anytxt 那种文本内容检索?
    cat9life
        6
    cat9life  
       3 天前
    如果可以提供和竞品的对比就好了
    hkhk366
        7
    hkhk366  
    OP
       3 天前
    @cat9life 早就有详细对比在 github ,主要优势未来计划都在里面,v2ex 没法写这么全,内容越长 V2EX 扣费越多

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

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

    我做这个工具的初衷是由于我需要远程对机器上的文件进行搜索,下载等操作,所以我才选用的 http2/http3 ,而 everything 的 http 服务是 http1.0 ,这个实在太老了,无法支持未来我的远程办公,远程协作,远程差异化存储等操作。所以我才下定决心做一个自己的。
    dranfree
        11
    dranfree  
       3 天前 via Android
    没开源啊
    llsquaer
        12
    llsquaer  
       3 天前
    管得以后用不用,先 star 一个
    wheat0r
        13
    wheat0r  
       3 天前
    适合卖给做 nas 和云存储的品牌
    NoOneNoBody
        14
    NoOneNoBody  
       3 天前
    @hkhk366 #10
    everything 有 sdk ,可以写入自己的 web 或其他项目代码,不一定用它的 http
    hkhk366
        15
    hkhk366  
    OP
       3 天前
    @NoOneNoBody 你说的这些问题我当然都研究过,他自己的 SDK 功能很不全,和他自己的搜索差很多。而且只有自己写出来核心算法才能真的学到东西,成天调 SDK 就只能永远只做个一个调包侠。
    NoOneNoBody
        16
    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
        17
    hkhk366  
    OP
       3 天前
    @NoOneNoBody everything 开放的 sdk 功能很有限,这是理所当然,如果开放的功能超过其本身就会功高盖主。对于那些只需要短暂用一下的项目,sdk 是可行的,因为这种项目出发点就仅仅是能用而已。但是我的出发点是做一个大系统,我认为为了支持更多的功能,自研算法是唯一出路。我喜欢研究底层原理,不管做什么,我喜欢了解底层原理。在研制核心搜索算法的过程中我也提高了很多,这些技术积累将用于我其他的工作上,我认为非常有益。

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

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

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

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

    在市场,用户不在乎你有多快,只要在可接受范围内,不慢就行,“能”比“快”更重要
    如果你觉得算法更重要,那应该到技术杂志发算法论文更合适
    hkhk366
        20
    hkhk366  
    OP
       2 天前
    @NoOneNoBody 我也没逼着你用啊,你说的一切无非是加个功能而已,everything 做了 20 年,都没满足你的全部需求,让我上来满足一切?
    CouleurVVEX
        21
    CouleurVVEX  
       2 天前
    @humbass 就是就是
    hkhk366
        22
    hkhk366  
    OP
       2 天前
    @humbass 上来动不动就最烦,我可以翻过来说,我最烦你这种不认真审题的,我哪里写我必须开源的,github 使用条例哪一条说必须完全开源才能创建 repo ,没人逼你用,你既不是投资人也不是赞助者,你的意见压根不重要,不要像个领导一样发号施令。
    dianso
        23
    dianso  
       1 天前
    难道支持非 NTFS ?
    肯定是 ONLY NTFS
    bronyakaka
        24
    bronyakaka  
       1 天前
    闭源的,然后打开压缩包还提示木马,难绷
    hkhk366
        25
    hkhk366  
    OP
       18 小时 17 分钟前
    @bronyakaka 禁止造谣,闭源怎么了,其他类似能达到这个效率的软件哪个不闭源,想白嫖别人核心算法?还木马,笑话,看看 https://habo.qq.com/file/showdetail?pk=ADEGZF1lB2UIMVs6U2oHYA%3D%3D
    jejwe
        26
    jejwe  
       5 小时 47 分钟前
    记得 13 年还是什么时候,有一个产品就是能索引本机所有内容。包括各种文件、网站浏览记录及浏览的内容等等。起了一个本地的 web 服务,然后浏览器中访问是一个类似 google 本地搜索的搜索引擎界面。觉得很好用。这个团队还拿到融资了。结果 BETA 版发布后,后来就没下文了。现在想想如果结合 AI ,就更有用了。这个可以商业化推往企业内部使用。个人用也方便,经常搜索本地文件内容找不到
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5408 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:27 · PVG 17:27 · LAX 01:27 · JFK 04:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.