主要观点:作者分享了在 progscrape 上的工作成果,包括用 Rust 重写代码、性能提升、故事页面的更新、搜索趋势分析、其他改进以及 Android 应用等。
关键信息:
- 用 Rust 重写了 AppEngine 上的古老 Python 2 代码基,在 Raspberry Pi 4 上运行的新 Rust 栈性能良好,能处理大量搜索和浏览器流量,Tantivy 库在其中起核心作用。
- 实现了故事页面,可通过搜索结果中的
...
图标或特定 URL 访问,搜索框也可按 URL 搜索并提供相关讨论链接。 - 搜索页面增加了标签的故事计数随时间变化的图表,希望能添加更多基于此的筛选功能。
- 改进了搜索弹性,空搜索结果页面显示错误消息,移除了 Google Analytics 改用自托管分析方案。
- 有开源的 Android 应用可从 Google Play 商店下载。
- 项目开源,欢迎感兴趣的人参与贡献,源代码在 GitHub 上。
重要细节: - 原代码基运行超十年,费用渐增,AppEngine 也已 15 年多,现代化 Python 版本工作量大。
- 用负载测试工具测试,新设置能轻松处理每秒 100 个请求,Raspberry Pi 可很好地扩展。
- Tantivy 能在几秒内索引 100 万故事,集成简单且有用,团队响应快。
- 已将 AppEngine 上近十年的故事无损导入新系统,在小 ARM 处理器上索引和服务五十万故事。
- 改进包括修复搜索导致的应用崩溃问题、空搜索显示错误消息等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。