Elasticsearch:Lucene 2024 年回顾

news2025/1/7 20:24:22

作者:来自 Elastic Chris Hegarty

2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中,我们将探讨主要亮点。

Apache Lucene 在 2024 年表现出色,发布了许多版本,包括三年来的首次重大更新,其中包含令人兴奋的改进和新功能。让我们来探索一些关键亮点。

社区

一个项目的强大程度取决于支持它的社区。尽管已经发展了近 20 年,但 Lucene 项目仍然充满活力,并因其热情而活跃的贡献者而蓬勃发展。

2024 年,Lucene 项目已收到来自 98 位独特贡献者的 2,000 多次提交和近 800 次拉取请求。贡献者的数量持续增长,新的提交者和 PMC 成员加入该项目并帮助推动其成功。

Lucene 10

2024 年迎来了近 3 年来的第一个主要版本 - Lucene 10,有来自 185 位独特贡献者的 2,000 多次提交。虽然 Lucene 遵循的开发模型允许在小版本中提供许多改进和功能,但主要版本提供了带来更大功能和现代化的机会。例如,Lucene 10 至少需要 Java 21。提高最低 Java 版本可确保 Lucene 可以继续利用现代 Java 提供的改进。

Lucene 10 的主要重点是更好地利用其运行的硬件。让我们快速浏览一下一些主要亮点:

  • 更多搜索并行性 - 虽然搜索执行已经跨段并行化,但我们现在更进一步,在段内并行化。这将磁盘上的表示(on-disk representation)与执行性能分离,甚至允许单个段受益于现代系统上的核心数量。
  • 更好的 I/O 并行性 - Lucene 使用的简单同步 I/O 模型已通过预取阶段得到增强。这会通知操作系统,索引文件的某个区域在不久的将来会被需要,但不会阻塞调用线程。
  • 使用稀疏索引可提高 CPU 和存储效率 - Lucene 10 引入了对稀疏索引的支持,在其他数据存储中,稀疏索引有时称为主键索引或区域索引。
  • 有关 Lucene 10 的更多信息,请查看有关 Lucene 10 的专门文章。

研究与创新

2024 年,Lucene 的研究和创新激增,特别是在机器学习集成、向量搜索和大规模数据集优化领域,参考了 10 篇独立的研究论文和出版物。一些关键研究领域和发展包括:

  • 向量搜索和嵌入支持 - Lucene 为基于向量的搜索提供了强大且可扩展的解决方案,实现了大规模语义检索。通过利用 Lucene 强大的索引(indexing)和搜索(search)基础架构,用户可以将传统文本搜索的最佳功能与现代向量搜索的高级功能相结合,使 Lucene 成为广泛搜索和信息检索任务的综合解决方案。
  • 混合搜索模型 - 研究还深入研究了混合搜索技术,其中 Lucene 将传统的基于关键字的搜索与现代基于向量的检索相结合。通过将基于术语的索引与密集向量表示合并,Lucene 可以提供更准确、上下文相关的搜索结果,弥合传统搜索引擎的精确度与语义搜索的灵活性之间的差距。

2024 年正在进行的研究工作表明 Lucene 能够适应现代搜索技术不断变化的需求,特别是在人工智能、语义搜索和大数据应用的背景下。该项目将继续发展成为一个强大、灵活且高效的平台,适用于传统和前沿搜索用例。

如此多的发布

虽然不能准确反映,但发布的数量之多凸显了社区的持续奉献和活力。这些更新包括对矢量搜索性能和效率的重大增强、对 madvise 的支持、对帖子列表解码的优化、通过 SIMD 进一步提高速度等等。

以下是完整的发布列表:

  • 10.1.0 (2024-12-20)
  • 9.12.1 (2024-12-13)
  • 10.0.0 (2024-10-14)
  • 9.12.0 (2024-09-28)
  • 8.11.4 (2024-09-24)
  • 9.11.1 (2024-06-27)
  • 9.11.0 (2024-06-06)
  • 9.10.0 (2024-02-20)
  • 8.11.3 (2024-02-08)
  • 9.9.2 (2024-01-29)

你可以在 Lucene Core 页面上找到更多信息和发布说明。此外,还有等效的 PyLucene 版本。

总结

随着 Lucene 从青少年时期过渡到更加成熟,它在其专注而充满活力的社区的帮助下继续蓬勃发展。正如我们所见,2024 年是极其富有成效的一年,现在我们展望 2025 年将带来的激动人心的发展。

Elasticsearch 包含许多新功能,可帮助你为你的用例构建最佳搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在你的本地机器上试用 Elastic。

原文:Lucene Wrapped 2024 - Elasticsearch Labs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2272825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity打包问题集(持续更新)

1.报错:CommandWithNoStdoutInvokationFailure: Unable to start ADB server. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details. 大致意思就是打不开ADB的服务器,请检查安卓…

SpringBoot环境和Maven配置

SpringBoot环境和Maven配置 1. 环境准备2. Maven2.1 什么是Maven2.2 为什么要学 Maven2.3 创建一个 Maven项目2.4 Maven核心功能2.4.1 项目构建2.4.2 依赖管理2.4.3 Maven Help插件 2.5 Maven 仓库2.5.1本地仓库2.5.2 中央仓库2.5.3 私有服务器, 也称为私服 2.6 Maven设置国内源…

【HarmonyOS应用开发——ArkTS语言】欢迎界面(启动加载页)的实现【合集】

目录 😋环境配置:华为HarmonyOS开发者 📺演示效果: 📖实验步骤及方法: 一、在media文件夹中添加想要使用的图片素材​ 二、在entry/src/main/ets/page目录下创建Welcome.ets文件 1. 整体结构与组件声…

【数据可视化-11】全国大学数据可视化分析

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

NLP项目实战——基于Bert模型的多情感评论分类(附数据集和源码)

在当今数字化的时代,分析用户评论中的情感倾向对于了解产品、服务的口碑等方面有着重要意义。而基于强大的预训练语言模型如 Bert 来进行评论情感分析,能够取得较好的效果。 在本次项目中,我们将展示如何利用 Python 语言结合transformers库&…

各种数据库类型介绍

1.关系型数据库(Relational Databases, RDBMS) 关系型数据库是基于关系模型组织的数据库,其数据结构以表格的形式存在,表格之间通过外键等关系相互关联。它们支持复杂的SQL(Structured Query Language)查询…

创龙3588——debian根文件系统制作

文章目录 build.sh debian 执行流程build.sh源码流程 30-rootfs.sh源码流程 mk-rootfs-bullseys.sh源码流程 mk-sysroot.sh源码流程 mk-image.sh源码流程 post-build.sh 大致流程系统制作步骤 build.sh debian 执行流程 build.sh 源码 run_hooks() {DIR"$1"shiftf…

倾斜摄影相机在不动产确权登记和权籍调查中的应用

一、项目背景 1.1 项目背景 为贯彻落实中央、国务院关于实施乡村振兴战略、关于“扎实推进房地一体的农村集体建设用地和宅基地使用权确权登记颁证,完善农民闲置宅基地和闲置农房政策,探索宅基地所有权、资格权、使用权‘三权分置’”的要求&#xff0…

在K8S上部署OceanBase的最佳实践

在K8S上部署OceanBase的最佳实践 目录 1. 背景与选型 1.1 为什么选择OB1.2 为什么选择ob-operator实现OB on K8S 2. 部署实操 2.1 环境准备2.2 安装 ob-operator2.3 配置 OB 集群2.4 配置 OBProxy 集群2.5 Headless Service 和 CoreDNS 配置2.6 监控与运维 2.6.1 Promethues部…

【设计模式-1】软件设计模式概述

1. 软件设计模式的产生背景 “设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977 年,美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫亚历山大(Christopher Alexander)在…

Nginx——反向代理(三/五)

目录 1.Nginx 反向代理1.1.Nginx 反向代理概述1.2.Nginx 反向代理的配置语法1.2.1.proxy_pass1.2.2.proxy_set_header1.2.3.proxy_redirect 1.3.Nginx 反向代理实战1.4.Nginx 的安全控制1.4.1.如何使用 SSL 对流量进行加密1.4.2.Nginx 添加 SSL 的支持1.4.3.Nginx 的 SSL 相关指…

win10 VS2019上libtorch库配置过程

win10 VS2019上libtorch库配置过程 0 引言1 获取libtorch2 在VS上配置使用libtorch库3 结语 0 引言 💻💻AI一下💻💻   libtorch库是一个用于深度学习的C库,是PyTorch的官方C前端。它提供了用于构建和训练深度学习模…

Windows 环境配置 HTTPS 服务实战

一、 环境准备 win10以上操作系统安装 Certbot申请阿里云\腾讯云域名安装 nginx 1.3以上版本 二、Certbot 安装及 SSL 证书生成 Certbot 是一个免费、开源工具,用于自动化在Web服务器上获取和更新SSL/TLS证书。它可以通过Let’s Encrypt服务获取免费的SSL/TLS证书…

【C++数据结构——图】最小生成树(头歌实践教学平台习题) 【合集】

目录😋 任务描述 相关知识 带权无向图 建立邻接矩阵 Prim算法 1. 算法基本概念 2. 算法背景与目标 3. 算法具体步骤 4. 算法结束条件与结果 测试说明 通关代码 测试结果 任务描述 本关任务:编写一个程序求图的最小生成树。 相关知识 为了完成…

11.认识异常

本节目标 1.异常概念与体系结构 2.异常的处理方式 3.异常的处理流程 4.自定义异常类 1.异常的概念与体系结构 1.1异常的概念 在Java中,将程序执行过程中发生的不正常行为称为异常,比如: 1.算术异常 System.out.println(10/0);//执行结果 Exception in thread "mai…

基于海思soc的智能产品开发(camera sensor的两种接口)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 对于嵌入式开发设备来说,除了图像显示,图像输入也是很重要的一部分。说到图像输入,就不得不提到camera。目前ca…

vulnhub靶场-potato(至获取shell)

arp-scan -l 扫描IP 使用御剑端口扫描扫描端口,扫到了80和7120两个端口,其中7120为ssh端口 使用dirb http://192.168.171.134 扫描目录 发现info.php 访问为phpinfo界面 访问192.168.171.134为一个大土豆,没什么用 所以我们从ssh入手 盲…

Flutter:邀请海报,Widget转图片,保存相册

记录下,把页面红色区域内的内容,转成图片后保存到相册的功能 依赖 # 生成二维码 qr_flutter: ^4.1.0 # 保存图片 image_gallery_saver_plus: ^3.0.5view import package:demo/common/index.dart; import package:ducafe_ui_core/ducafe_ui_core.dart; i…

Milvus×合邦电力:向量数据库如何提升15%电价预测精度

01. 全球能源市场化改革下的合邦电力 在全球能源转型和市场化改革的大背景下,电力交易市场正逐渐成为优化资源配置、提升系统效率的关键平台。电力交易通过市场化手段,促进了电力资源的有效分配,为电力行业的可持续发展提供了动力。 合邦电力…

网络层协议之IP数据包层分片随笔

1.全篇内容均在图中,如何分片以及分片举例细节拆解,见下图: 1.1分片公式: 上述公式中有关/8 再*8目的是为了使用8字节对齐,从而使的分片数据包均为8字节整数倍! 1.2.ip层数据包分片计算&图解