Elasticsearch:2023 年 Lucene 领域发生了什么?

作者:来自 Elastic Adrien Grand

2023 年刚刚结束,又是 Apache Lucene 开发活跃的一年。 让我们花点时间回顾一下去年的亮点。

社区

2023 年,有:

  • 5 个次要版本(9.5、9.6、9.7、9.8 和 9.9),
  • 1 个补丁版本 (9.9.1),
  • 1 个新提交者,
  • 4 名新 PMC 成员,

来自 97 位独特贡献者的 620 项提交。

向量搜索

真正的语义搜索检索和检索增强生成的承诺对大大小小的用户都极具吸引力。 因此,向量搜索成为 2023 年 Apache Lucene 的主要主题也就不足为奇了。更具体地说,在多个版本中添加了许多有趣的功能和优化:

  • 支持 int8 向量。 (Lucene 9.5)
  • 更快地合并 HNSW 图。 (Lucene 9.6)
  • 通过支持向量化 (Lucene 9.7) 和 FMA (Lucene 9.9) 加快索引、合并和查询速度。
  • 支持将向量搜索与块连接相结合。 (Lucene 9.8)
  • 支持索引时向量的自动 int8 标量量化。 (Lucene 9.9)

基数排序随处可见

索引是指以一种可以在搜索时有效访问数据的方式组织数据,这在实践中涉及大量排序。 当谈到排序时,基数排序 (radix sort) 是王道(如果适用的话!)。 Lucene 已经在一些性能敏感的地方使用基数排序有一段时间了,例如对段的术语字典进行排序。 但基数排序的使用在 2023 年进一步增加,并开始用于优化:

更快的查询评估

我们已经介绍了向量搜索的一些性能改进,但关键字搜索在 2023 年也出现了重大加速。请查看此博客,其中介绍了 9.7、9.8 和 9.9 版本中发生的主要加速。 这些改进既适用于传统关键字搜索,也适用于稀疏向量搜索,例如由学习的稀疏检索模型创建的搜索。

与 Java 虚拟机更紧密的集成

作为一个 Java 库,Lucene 很大程度上依赖于 Java 虚拟机 (JVM),并且偶尔会发布 Lucene 特别感兴趣的新功能。 特别集成了两个功能,如果你在足够现代的 JVM 版本上运行,那么它们将被自动使用:

很难划清界限,但我会在这里停下来,因为我正在努力寻找 2023 年发生的其他良好变化的共同主题。:) 请继续关注 Apache Lucene 领域上的美好 2024 年!

原文:What happened in Lucene land in 2023? --- Elastic Search Labs

相关推荐
TableRow2 小时前
参数化搜索的实现原理:从多维索引到查询优化
elasticsearch·全文检索
醉颜凉5 小时前
Elasticsearch高性能优化:Bulk API大规模数据导入性能调优全攻略
elasticsearch·性能优化·jenkins
Ysouy5 小时前
Spring Data Elasticsearch 全流程学习教程
java·spring·elasticsearch
沪飘大军5 小时前
goldRush-专门分析黄金的投资理财agent
java·开发语言·elasticsearch
让学习成为一种生活方式6 小时前
samblaster v.0.1.26安装与使用--生信工具096
大数据·elasticsearch·搜索引擎
小马爱打代码7 小时前
Elasticsearch 容器化部署(单机版):从零搭建你的搜索和分析引擎
elasticsearch
西敏寺的乐章7 小时前
排序三阶段:粗排→精排→重排,把业务信号灌进 ES 排序管道
elasticsearch·搜索引擎
小马爱打代码8 小时前
Elasticsearch 集群容器化部署:构建 PB 级搜索与分析平台
大数据·elasticsearch·搜索引擎
二哈赛车手1 天前
新人笔记---idea索引失效问题解决方案
java·笔记·spring·elasticsearch·intellij-idea
MemoriKu1 天前
Flutter 本地 AI 相册工程收口:从屏幕常亮、标签体系到照片属性后台队列
大数据·人工智能·python·flutter·elasticsearch·搜索引擎·数据库架构