名字里有什么?Lucene 这个名字是 Doug 妻子的中间名,也是她祖母的名字。
Lucene 生日快乐
庆祝 Apache Lucene 20 周年
Apache Lucene——Elasticsearch 的支柱——证明了当开源软件受到蓬勃发展的社区的培育时,它可以蓬勃发展并成长为在全球范围内为数字体验提供动力的技术。Elastic 通过一个集体的时间轴,突出有趣的事实和关键里程碑,来庆祝与 Lucene 代码和社区的联系和集成。
一切都从 Java 开始
当 Doug Cutting 决定学习 Java 时,他通过创建一个新的搜索索引器项目来磨练自己的技能。这一努力使他编写了 Lucene 的第一个版本——并在 2000 年 4 月通过 SourceForge 以免费和开源软件的形式提供。Lucene 是 Doug 的第五个搜索引擎,他之前在 Xerox PARC 编写了两个,在 Apple 编写了一个,在 Excite 编写了第四个。
趣闻
每个人都有一个起源故事
每个人都有自己独特的关于如何开始使用 Lucene 的故事。您的故事将如何开始?
Lucene 加入 Apache
9 月,Lucene 加入了 Apache Jakarta 项目。Jakarta 是一系列开源 Java 项目,包括 Apache Tomcat 和 Apache Struts。
里程碑
Lucene 1.2 成为 Apache 许可证下的第一个 Lucene 版本,标志着它脱离了 LGPL 许可。
致力于开源
2002 年,Lucene 获得了来自 13 位独特作者的近 400 次提交——而且此后一直在增长。观察最初几年的提交,看看它们是如何随着时间推移而增长的。
里程碑
Lucene 1.3 通过 PerFieldAnalyzerWrapper 引入了一些早期的灵活性,允许字段使用不同的标记化方法。
导航搜索
Shay Banon 发布了 Compass——一个构建在 Lucene 之上的开源项目——旨在简化将搜索集成到任何 Java 应用程序中。Compass 将作为 Elasticsearch 的前身。
里程碑
Lucene 1.4 引入了命中排序,允许给定查询的结果按任何索引字段排序。
为(代码)作者阅读
Lucene in Action 首次出版。这本 Lucene 指南仍然是该项目最畅销的技术手册。
趣闻
2005 年,有来自 11 位独特作者的 484 次提交。
致力于解决问题,无论大小
可视化 2005-2009 年的 Lucene 提交
里程碑
Lucene 1.9 引入了 DateTools,允许用户格式化日期以提高可读性,并处理 1970 年之前的日期。
里程碑
Lucene 2.0 与 1.9 相似,除了删除已弃用的 API。有些人将该项目的寿命归因于这种类型的维护。
趣闻
在 Doug 的帮助下,Shay 提交了他对 Lucene 代码库的第一个贡献 (LUCENE-511)。Elastic 的联合创始人 Simon Willnauer 也与 Doug 合作,满足了在 Lucene 之上实现 GData 服务器的请求 (LUCENE-578)。
里程碑
Lucene 2.1 更新了 QueryParser,允许以 Unicode 转义形式添加 Unicode 字符。\u1F973 \u1F973 \u1F973
里程碑
Lucene 2.2 包括一些影响很大的小型优化。两个缓冲区大小的增加使写入性能提高了 10-18%。
庆祝社区
对于一个开源项目来说,20 年是很长的时间。毫无疑问,Lucene 的长寿证明了其社区的强大和多样性。
里程碑
Lucene 2.3 改进了 IndexWriter 如何利用 RAM 来缓冲文档的方式,从而使索引速度提高了 2-8 倍。
里程碑
Lucene 2.9 更改了其 API 以反映其索引的段式结构,通过这种新的调整提高了速度。
里程碑
Lucene 3.0 是第一个在运行时需要 Java 5 的版本,它利用了新的 JVM 功能,如泛型、枚举和可变参数。
趣闻
Elastic 的联合创始人 Uri Boness 创立了第一个荷兰 Lucene 用户组。
连接代码
Lucene 和 Solr 仓库合并了。虽然共享同一个仓库,但 Lucene 仍然可以单独下载和使用。
趣闻
Elasticsearch 0.1.0 于 2 月 7 日发布!这个开源的、分布式的、RESTful 的搜索引擎是构建在 Lucene 之上的。
致力于建立强大的社区
可视化 2010-2014 年 Lucene 的提交
4.0?4.哦,哇!
Lucene 4.0 充满了重要的新功能。通过 Codecs API 改进的索引灵活性,增加了相似性模型(BM25、DFR 等),以及 doc values 的引入,将 Lucene 提升到了严肃分析的领域。
趣闻
2 月 9 日,在第一个 Elasticsearch 提交几乎两年后,Steven Schuurman、Uri Boness 以及 Lucene 贡献者 Simon Willnauer 和 Shay Banon 创立了 Elastic。嘿,那是我们!
持续致力于 Lucene
Apache Lucene 是 Elasticsearch 的核心,Elastic 一直将向核心 Lucene 做出贡献作为优先事项。事实上,核心提交者从第一天起就在 Elastic 团队中。
里程碑
Lucene 4.8 实施了一种通用格式,其中包括所有索引文件的校验和,从而可以更好地检测硬件错误。
致力于搜索的未来
可视化 2015-2019 年 Lucene 的提交
里程碑
Lucene 5.0 的主要动机是删除对 3.x 索引的支持。管理技术债务并不光彩,但很重要。
里程碑
Lucene 5.1 为短语查询添加了两阶段交集,通过将近似和确认分为两个步骤来提高速度。
分支拓展
随着用于多维搜索的 BKD 树数据结构的引入,Lucene 不再仅仅是一个全文搜索引擎,而是一个可以搜索任何东西的搜索引擎。这为我们目前在地理空间搜索、使用动态特征进行评分等领域看到的发展打开了大门。
里程碑
Lucene 6.0 添加了对多维点(BKD 树)索引的支持,并将 BM25 设置为默认的相似性模型(不是 TF/IDF)。
趣闻
Lucene 从 Subversion 仓库迁移到 Git,允许用户更准确地控制版本和发布。
现在特色是...
经过 20 年的社区开发,称 Lucene “功能丰富” 是一种保守的说法。有如此多的功能可供选择,每个人都有一些最爱。
展望未来
在 Lucene 的可能性方面,没有尽头。了解未来可能的发展方向,以及人们对什么感到兴奋。
里程碑
Lucene 7.6 允许 BKD 树索引其维度的子集,有效地将它们视为 R 树(地理中的标准结构)。
Lucene 迎来 20 周年!
对于多年来为 Lucene 做出贡献的人们,我们所有享受这个令人难以置信的开源项目的人都真诚地表示“感谢”。我们期待着更多年的搜索创新,并很高兴看到还有谁加入该项目。
2050
01001100!
人工智能机器人以行星际庆祝活动纪念 Lucene 的 50 岁生日。人工智能生成的诗歌赞美 Lucene 新的跨维度索引功能充斥了外部网络,导致所有宇宙的服务器崩溃,并使任何过时的人类生产力努力变得毫无用处。