Elasticsearch:Apache Lucene 2025 年终总结 📅 发布时间:2026/7/8 7:23:07 👁️ 浏览次数: 作者来自 Elastic Benjamin Trent 及 Chris Hegarty2025 年是 Apache Lucene 非常出色的一年以下是我们的亮点。想获得 Elastic 认证吗了解下一期 Elasticsearch Engineer 培训什么时候开始你现在可以开始免费的 cloud 试用或者在本地机器上试用 Elastic。很难相信 Apache Lucene 已经存在了超过四分之一个世纪是的通过 Apache Lucene 实现的搜索已经超过 25 年。社区数据一览在贡献和整个社区方面2025 年又是强劲的一年共有 1,756 次 commits 和 1,080 个 pull requests来自 134 位独立贡献者。社区在今年继续增长贡献者数量比上一年增加了 98 人。项目管理委员会 project management committee - PMC 和 committer 群体也在扩大。Apache Lucene 在 2025 年新增了 9 位 committers其中一位是 Elastic 自家的 Simon Cooper。祝贺 thecoopPMC 也迎来了 2 位新成员。我们这个小社区还在不断成长。我们的亮点接近 2,000 次 commits 和 8 个版本发布让人很难总结我们在 2025 年 Apache Lucene 中喜欢的所有内容。但不回避挑战这里是我们的一些亮点。更快查询的一年在很多方面2025 年是 Apache Lucene 拥抱更好自动向量化、手动 SIMD 优化并整体让性能更快的一年。Lucene 社区成员 Adrien Grand 在这篇博客中做了非常详细的讲解下面是一些带来最大提升的链接和总结。像往常一样特别感谢 Mike McCandless 多年来维护 Apache Lucene 基准。[IN] 重构 main top-n bulk scorers以更偏向 term-at-a-time 的方式评估 hits[IS] 无关的硬件更新所以这里只是噪声[IY] 使用无分支方式加速 filterCompetitiveHits[IZ] 改进以 bitsets 存储的文档收集[JA] 使用 Java Panama API 手动向量化 filterCompetitiveHits[JK] 将文档块大小提升到 256不考虑硬件变化 [IS]这在 2025 年几乎带来了 60% 的查询速度提升从 100 qps 提升到 170 qps。向量搜索2025 年在向量搜索方面有不少改进。其中值得重点一提的有三项通过 ACORN 改进带过滤条件的向量搜索、加入乐观的多段 multisegment 搜索以及向量的批量打分 bulk scoring 。ACORN-1 是一种用于基于图的向量索引的有趣算法。它的一个重要优势是对过滤条件和算法本身都不敏感。由于 Apache Lucene 使用分层可导航小世界 HNSW 进行索引而用户通常希望在无需额外配置的情况下对任何条件进行过滤因此它非常契合。最初是一位社区成员研究并尝试引入该算法。他后来加入了 Elastic 。嗨 Ben最终为 Lucene 找到了一个很好的平衡点在不要求用户进行大量配置、也不需要额外索引信息的前提下实现了更快的过滤向量搜索。向 Apache Lucene 中加入乐观的多段向量搜索充分体现了社区如何协作完成这些工作。三位不同的成员通力合作对该方案进行了调试、基准测试、设计和多轮迭代。这个方案最初由 Michael Sokolov Lucene 社区中的向量搜索明星提出它立刻吸引了我的注意因为它声称可以在不牺牲性能的情况下修复我们一个奇怪的并发一致性 bug 。在社区成员 Dzung Bui 的多次迭代和基准测试之后我们在速度和召回率之间找到了合适的平衡既提升了性能又让多线程搜索保持一致性并实现了一个相当巧妙的算法。批量打分 bulk scoring 源自社区成员 Trevor McCulloch 与我们自己的 Chris Hegarty 的合作并在 PR #14978 中作为一种新的打分接口引入随后在 PR #14980 中提供了最初的 float32 实现。现代向量搜索通常需要在索引中将一个查询向量与成千上万甚至数百万个向量进行比较往往是通过遍历最近邻图来完成的。传统方式是一次只比较一个向量。而批量打分则反转了这一模型在一次调用中将一批向量以索引中的序号表示传递给打分器。这样可以让打分器在多个向量之间进行预取和流水线处理摊薄缓存未命中的成本并减少单个向量的额外开销。原始设计讨论中一个令人兴奋的点是设想使用 Rust 和 C 来实现批量打分器。虽然 Lucene 本身仍然是一个 Java 库但这为高度优化、 SIMD 友好的原生实现打开了大门。我们甚至还没来得及讨论该领域中落地的其他多项改进包括 HNSW 的优化例如更紧凑的 GroupVarInt 图编码、对极小段跳过图构建以及持续降低内存占用。在运维层面 Lucene 现在暴露了堆外内存需求使得理解和调试原生内存使用变得更加容易。虽然这些改动单独来看都不算大但合在一起它们让 Lucene 的向量搜索在生产环境中变得更快、更轻量也更易于运维。额外福利最后一个亮点可能显得有些突兀。这是一个处理过程极其令人沮丧、但解决后又让人倍感成就的 Bug。我在这里就不展开技术细节了因为这涉及到 Lucene 如何进行最大评分max scoring和批量评分bulk scoring、如何应用过滤器以及它如何处理所有内部迭代器的状态 —— 这足以专门写一篇博客。简而言之我们在 2025 年 9 月底的生产环境中遇到了这个 Bug。它表现为在执行特定查询时抛出EndOfFileException。接着就像所有 “有趣” 的 Bug 一样我们花了一两周的时间才成功复现并完成调试。最后当我们终于搞清楚是什么原因导致了异常还得深入研究背后的原理才能修复它。总之整整一个月的工作量最后浓缩成了一行代码。请感受它的荣光- top.doc top.approximation.advance(filter.doc); // Must use the iterator as top might be a two-phase iterator top.doc top.iterator.advance(filter.doc);再见 2025你好 2026衷心感谢 Apache Lucene 社区中每一位不懈努力、持续改进这一经典搜索库的成员。我们 ❤️ 你们。原文https://www.elastic.co/search-labs/blog/apache-lucene-wrapped-2025
HTTPS进阶学习:TLS版本差异+证书区别+性能优化+Nginx配置实操 一、TLS1.2与TLS1.3核心版本差异 TLS是HTTPS加密通信的核心,TLS1.3在TLS1.2基础上做了握手流程、加密算法、安全机制的深度优化,是当前生产环境的首选版本,两者核心差异如下: 对比维度TLS1.2TLS1.3核心优化价值握手时延2次RTT&a… 2026/5/17 0:57:01
【GitHub项目推荐--Moltbot(原名Clawdbot):个人AI助手平台】⭐⭐⭐⭐⭐ 简介 Moltbot(原名Clawdbot)是一个开源的个人AI助手平台,允许用户在自有设备上运行个人AI助手。项目采用"龙虾方式"(lobster way)设计哲学,支持任何操作系统和平台,为用户提供完全可… 2026/5/17 0:57:00
当 FPGA 遇上 Python:Glasgow 如何玩转数字接口(开源硬件 软件) 在嵌入式开发、接口调试、硬件逆向或数字存档工作中,经常会遇到各种异构、老旧或自定义数字接口协议。为了让工程师更轻松地接入、探测、控制和抓取这些接口的数据,Glasgow Embedded 社区推出了一个开源工具——Glasgow Interface Explorer。什么是 Glas… 2026/7/6 16:32:10
5步实现游戏修改器功能增强:开源本地化解决方案深度解析 5步实现游戏修改器功能增强:开源本地化解决方案深度解析 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer Wand-Enhancer是一款针对Wand&#… 2026/7/8 7:21:21
paperxie|告别盲目改文!AI分层降重降AIGC,适配全高校检测规则 paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/科研绘图降重复率 - PaperXie智能写作PaperXie免费论文查重检测-首款免费论文检测软件,为毕业生提供专业的论文重复率检测、论文降重、Aigc检测、智能排版 、论文写作等一站式服务。https://www.paperxie.c… 2026/7/8 7:17:21
天龙八部单机版GM工具:3分钟快速上手,轻松管理游戏数据 天龙八部单机版GM工具:3分钟快速上手,轻松管理游戏数据 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 还在为《天龙八部》单机版游戏数据管理而烦恼吗?天龙八部单… 2026/7/8 7:17:21
HoloOcean 2.0 声纳仿真升级:基于光线追踪的实时多路径噪声建模与性能对比 HoloOcean 2.0 声纳仿真升级:基于光线追踪的实时多路径噪声建模与性能对比1. 水下机器人仿真的技术演进水下机器人技术的快速发展对仿真工具提出了更高要求。传统声纳仿真方法面临计算效率与真实感难以兼顾的困境——八叉树结构虽能快速处理静态环境,却难… 2026/7/8 7:17:21
终极指南:如何永久免费使用Internet Download Manager(IDM激活脚本详解) 终极指南:如何永久免费使用Internet Download Manager(IDM激活脚本详解) 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script 还在… 2026/7/8 7:13:02
JVM 排查工具链组合拳:Arthas + MAT + JFR 协同诊断实战 JVM 排查工具链组合拳:Arthas MAT JFR 协同诊断实战 一、为什么单一工具总是差一口气——线上排查的多维度困境 线上 JVM 问题排查这件事,不同的工程师有不同偏好:有人靠 Arthas 一把梭,有人只信 MAT 离线分析,还有人… 2026/7/8 7:09:02
BetterNCM安装器:高效管理网易云插件的最佳选择 BetterNCM安装器:高效管理网易云插件的最佳选择 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在为网易云音乐插件的繁琐安装流程而烦恼吗?BetterNCM安装器是… 2026/7/8 0:02:48
运动控制系统安全设置对比:ECI3808的3种限位保护与急停逻辑实现 运动控制系统安全机制深度解析:限位保护与急停逻辑的设计哲学在精密制造与自动化领域,运动控制系统的安全设计绝非简单的功能堆砌,而是一套融合了机械工程、电气原理和软件算法的防御体系。当一台数控机床以每分钟数万转的速度运转࿰… 2026/7/8 0:06:48
AI大模型应用开发:小白也能抓住的红利风口,收藏这篇入门指南! 文章指出,虽然微软等科技巨头在裁员,但英伟达等公司却在积极扩招AI相关人才,尤其是具身智能、仿真等领域。AI行业正在经历结构性调整,传统岗位被淘汰,而大模型应用开发等新岗位需求旺盛。对于想转行或学习AI的普通人来… 2026/7/8 0:10:49
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/7 11:26:57
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/7 11:26:57
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/7 11:26:58