Marginalia 搜索引擎索引的重大性能提升
Marginalia 搜索引擎对索引进行了重新设计,以更好地利用现代硬件。通过使用内存映射的B树和确定性块基跳跃列表,以及调整块大小和I/O策略,搜索速度得到了显著提升。文章详细描述了新的数据结构和性能优化策略,并探讨了NVMe SSD的读写性能特性,以及如何通过调整块大小和I/O模式来最大化其性能。
阅读更多
Marginalia 搜索引擎对索引进行了重新设计,以更好地利用现代硬件。通过使用内存映射的B树和确定性块基跳跃列表,以及调整块大小和I/O策略,搜索速度得到了显著提升。文章详细描述了新的数据结构和性能优化策略,并探讨了NVMe SSD的读写性能特性,以及如何通过调整块大小和I/O模式来最大化其性能。
阅读更多
Marginalia搜索引擎团队开发了一个新系统“ping-process”,用于检测服务器在线状态和网站重大变更(包括所有权变更和域名停放)。该系统主要依靠HTTP HEAD请求和DNS查询,通过分析证书细节、安全姿态、服务器头部等信息来识别变更。数据存储在“快照表”和“事件表”中,前者存储最新信息,后者存储历史事件。系统克服了调度和证书验证等挑战,初步成功识别大量域名停放事件,未来将进一步完善所有权变更检测模型,并应用于爬虫策略优化。
阅读更多
从早上被 AI 闹钟叫醒,到在健身房经历冗长的身份验证,再到被车载 AI 喋喋不休地轰炸,主人公的一天被无处不在的 AI 淹没。这看似便利的未来,却充满了令人窒息的烦扰和对隐私的侵犯,引发了对 AI 技术过度发展和人际互动缺失的反思。
阅读更多
搜索引擎近期获得了索引PDF文件的能力,但从PDF中提取文本信息远比想象中复杂。PDF并非文本格式,而是图形格式,文本以字形坐标的形式存在,可能旋转、重叠或无序排列。文章详细介绍了如何改进PDFBox的PDFTextStripper类,通过统计页面字体大小和行间距等特征,更有效地识别标题、段落等语义信息,从而提升PDF文本提取的准确性和适用性,最终实现对PDF内容的有效索引。
阅读更多
搜索引擎爬虫在抓取网页时,总是会在最后几个域名上耗费数天时间。最近,迁移到新的爬取数据后,内存需求降低了80%,爬取任务数量增加,导致99.9%的爬取在4天内完成,剩余0.1%却耗时一周。问题在于网站规模遵循帕累托分布,一些大型网站(尤其学术网站,拥有大量子域名和文档)以及爬虫对每个域名的并发任务限制。最初随机排序导致大型网站启动较晚,之后尝试按子域名数量排序,却引发了对博客主机的大量并发请求。最终,通过添加请求延迟抖动和调整排序策略,优先处理子域名数量超过8的网站,一定程度上解决了问题,但批量爬取模型的固有缺陷仍需进一步优化。
阅读更多
Marginalia 搜索项目喜获 NLNet 基金会第二轮资助!这笔资助将用于推进 2025 年项目路线图中的大部分工作。自 2023 年夏季以来,项目一直全速推进,而这笔新资助将确保项目有充足的开发时间,并延长项目周期。更多细节将随后公布。
阅读更多
这篇文章以讽刺的口吻,讲述了一个AI创业公司为了获取训练数据,不择手段地爬取网络数据的故事。他们无视robots.txt,伪造user-agent,肆意爬取表单数据、Git仓库数据,甚至连接邻居的wifi。他们不使用连接池,不关闭连接,故意丢包,一切只为了快速获取数据,体现了AI创业公司不顾一切的疯狂和对规则的无视。最终,他们虽然获得了数据,但却付出了声誉受损的代价,这篇文章用幽默的笔触讽刺了部分AI创业公司不择手段追求成功的行为。
阅读更多
本文介绍了 Marginalia 搜索引擎如何实现更精确的短语匹配,从而提升搜索结果质量。文章详细阐述了新的位置列表编码方案、字段跨度表示方法以及排名算法的改进,并讨论了压缩索引以减少磁盘空间占用的优化策略。
阅读更多
本文是作者回顾过去一年独立开发搜索引擎 Marginalia 的总结。作者从 NLnet 获得资助,完成了项目的初始开发目标,包括改进代码库、优化数据存储格式、简化系统操作、提升查询解析能力等。作者坦率地分享了独自创业的经验和挑战,例如工作与生活的平衡、项目规划的风险等,并展望了未来的发展方向,包括改进索引的词位置分辨率、扩大索引规模以及探索新的功能。
阅读更多