最近完成了两件小事,一个是编写了一个内置到自己编写的博客的全文检索引擎,另一个是编写了一个远程文件管理系统。
全文检索引擎
这是累积了好久的任务。在2018/19自己写自己的自用博客时就想完成,但由于耗时长,自己也比较理想主义,障碍点比较多,最终一直没完成,期间也曾尝试过开源方案,但开源的要嘛功能不齐备,要嘛是对中文支持不好的大块头,而且还经常各种包引用问题。所以也一直没能成功引用。
最近心血来潮,在AI的协助下,先写了一版原理性的全文检索引擎,取名tiny-search。结果在自己的生产环境试用,发现有非常高的内存占用量,能直接把我只有2G的云主机内存撑爆。
心灰意冷一两天后,又重新让AI辅助分析内存占用情况和优化策略。然后写了一个新的全文检索引擎取名bitsearch。意思是更小的引擎。这次用到了位图和token转id的优化,而且把map结构大量的转成使用切片结构。效果非常明显。把它在生产环境试用,我存储文章数最多的文档系统占用系统内存降到300多M。实际堆内存使用量在160左右。已经是可用的状态。且检索排序使用了bm25算法,在体验方面也确实是有提升。
远程文件管理
写这个的原因是对现有使用开源软件的不满导致的。之前用一个开源软件,发现登录没有自己的数字验证码,却需要用google的验证码,导致自己在手机端每次登录都比较费劲。而且功能也没觉得有多惊艳。
于是我开始想让AI生成一个最简单的远程文件浏览和下载的web程序。结果发现效果还不错。于是就不断的需求膨胀和扩展。之后增加上传,改名,删除,文本文件预览,图片预览,音视频播放等功能。几天的时间里,这个小作品不但替换掉了我之前用的开源软件,同时也替换掉了我之前写的web音视频播放器。而且体验效果也还蛮好。
心理反馈
2026年伊始,也算是解决了最近几年比较关心的两个小问题。以后没有必要就不要在这方面花太多的力气。多借助AI,多享受一下,调养一下身体,放过自己的肩颈、善待自己的肩颈。一年多了,肩颈疼痛好像愈发的厉害。