apache/lucene
数据用 Java 实现全文检索与信息检索的库,既可直接嵌入应用,也可作为搜索产品的底层索引引擎。
项目介绍
Apache Lucene 是一个用 Java 编写的高性能、功能完整的文本搜索引擎库(README)。它提供索引与查询的基础能力,面向全文检索和信息检索场景;应用以库的形式嵌入它,而不是把它当作独立服务运行。适合需要在自有 Java 产品中加入搜索能力的开发者,多个常见搜索平台也以它为底层。
除传统倒排索引检索外,Lucene 的范围还包括近似最近邻(ANN)向量搜索,项目曾探索用 Java Panama Vector API 加速这些向量运算(HN 讨论)。讨论中有人指出「向量搜索」与「Vector API」是两回事:前者指 ANN,后者指 SIMD,并提到当时的 Panama API 仍处于孵化阶段、需要特定 JVM 参数(评论)。
快速使用(从源码构建)
准备:JDK 25,可通过包管理器或 OpenJDK、Adoptium 等 JDK 发行方安装。
- 克隆仓库或下载源码分发包。
- 在仓库根目录运行 Gradle 包装脚本:
./gradlew
README 只覆盖这一基础构建流程,完整 API 说明见最新版本文档与每日构建的 Javadoc。若要把 Lucene 作为依赖引入,请以发布文档中的构建坐标为准,不要自行假设版本。
使用约束
- 按 README 的构建步骤,从源码构建需要 JDK 25,项目未在其中说明旧版 JDK 的构建方式。
- Lucene 是库而非服务,索引与查询代码需要你在应用中自行编写。
- 2023 年讨论的向量检索加速依赖尚在孵化的 Java API 和特定 JVM 参数,向量索引的合并也有自身的运维注意事项(评论),这些细节随版本而异。
- 大版本升级需要手动迁移,项目提供迁移指南。
- 许可证为 Apache-2.0(许可证)。
社区与支持
使用问题可发到 Java 用户邮件列表,开发讨论在开发者邮件列表。新贡献者应先阅读贡献指南,构建系统细节见 help/ 目录。
HotRepo 点评
Lucene 在 HotRepo 的 Java 日榜 2026-11-06 记录中位列第 20,当天 Star 数无变化,也没有全语言日榜名次记录。更有信息量的是 2023 年关于 Panama Vector API 集成的 HN 讨论(82 分、16 条评论),参与者争论 Lucene 的 ANN 工作能否让它成为专用向量数据库的有力替代(讨论)。该讨论针对的是特定集成,且已过去数年,反映的是 Lucene 向量方向的关注度,而非当前性能。仓库自身记录呈现的是一个成熟稳定的项目,而非快速上升的新项目。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。