Elasticsearch:15 年来致力于索引一切,找到重要内容
作者:来自 Elastic Shay Banon 及 Philipp Krenn

Elasticsearch 刚刚 15 岁了!回顾过去 15 年的索引和搜索,并展望未来 15 年的相关内容。
Elasticsearch 刚刚成立 15 周年。一切始于 2010 年 2 月的一篇公告博客文章(带有标志性的 “You Know, for Search - 你知道,用于搜索” 标语)、第一次公开提交和第一个版本,当时的版本号是 0.4.0。
让我们回顾一下过去 15 年的索引和搜索,并展望未来 15 年的发展。

更多阅读,请参阅:
-
Elasticsearch 简介
-
Elasticsearch 的前世今生
GET _cat/stats
自推出以来,Elasticsearch 平均每秒被下载 3 次,累计下载量超过 14.5 亿次。
GitHub 统计数据同样令人印象深刻:来自 2,400 名独特作者的超过 83,000 次提交、38,000 个问题、25,000 个分支和 71,500 个星标。并且没有放缓的迹象。

所有这些都是建立在无数 Apache Lucene 贡献之上的。今年是 Lucene 诞生 25 周年,我们也将深入讨论这些问题。与此同时,你可以查看 20 周年纪念页面,庆祝 Apache 的顶级项目之一。
Search 故事
亮点太多,无法全部列出,但以下是过去 15 年中推出的 15 个版本和功能,这些版本和功能使 Elasticsearch 达到了今天的水平:
- Elasticsearch 公司(2012 年):该开源项目正式成为一家开源公司,为其成长奠定了基础。
- ELK Stack(2013 年):Elasticsearch 与 Logstash 和 Kibana 联手形成了 ELK Stack,现在它已成为日志记录和分析的代名词。
- 版本 1(2014):第一个稳定版本引入了快照/恢复、聚合、断路器和 _cat API 等主要功能。
- Shield 和 Found(2015):Shield 以(付费)插件的形式为 Elasticsearch 集群带来了安全性。而对 found.no 的收购则将 Elasticsearch 带入了云端,发展成为现在的 Elastic Cloud。有趣的是,没有人能找到 “Found”—— SEO对于某些关键词来说可能很难。
- 版本 2(2015):引入了 pipelined 聚合、使用 Java 安全管理器增强安全性以及提高性能和弹性。
- 版本 5 和 Elastic Stack(2016):跳过两个主要版本,统一 ELK Stack 的版本号,并在添加 Beats 后将其转变为 Elastic Stack。此版本还引入了摄取节点和painless 脚本语言。
- 版本 6(2017):带来零停机升级、索引排序和类型删除以简化数据建模。
- 版本 7(2019):将集群协调更改为更具可扩展性和弹性的 Zen2、单分片默认设置、内置 JDK 和自适应副本选择。
- 免费安全(2019):随着 6.8 和 7.1 版本的发布,核心安全变得免费,以帮助每个人保护他们的集群。
- ILM、数据层和可搜索快照(2020):通过索引生命周期管理 (ILM)、分层存储和可搜索快照使时间序列数据更易于管理且更具成本效益。
- 版本 8(2022):引入了使用 HNSW 的原生密集想量搜索,并默认启用安全性。
- ELSER(2023):推出了 Elastic Learned Sparse EncoderR 模型,带来稀疏向量搜索以实现更好的语义相关性。
- 再次开源(2024):添加 AGPL 作为许可选项以恢复开源 Elasticsearch。
- Start Local(2024):运行 Elasticsearch 和 Kibana 变得比以往更容易:curl -fsSL https://elastic.co/start-local sh
- LogsDB(2024):一种新的专门索引模式,可将日志存储减少高达 65%。
搜索的未来一片光明
由于人工智能能力的崛起,搜索比以往更加相关且有趣。那么 Elasticsearch 的下一步是什么?由于内容太多,无法一一列举,因此我们将重点讨论三个领域及其所要解决的挑战。
Serverless
没有分片、节点或版本。 Elasticsearch Serverless(在 AWS 上已正式发布,在 Azure 上刚刚进入技术预览版)可以解决你过去可能遇到的运营问题:
- 15 年过去了,仍然有人无缘无故地将 number_of_shards 设置为 100。
- 15 年了,我们仍在争论 refresh_interval:1 秒还是 30 秒,就像这是一个生死攸关的决定一样。
- 15 年的大版本迭代、一次次的惊心动魄,以及升级到最新版本的刺激体验。
你今天就可以试用 Elasticsearch Serverless。
ES|QL
“为 Elasticsearch 15 周年干杯 — — Query DSL 仍然是你日常生活中最复杂的部分。” 但事实并非如此。新的 Elasticsearch 管道查询语言 (ES|QL) 带来了更简单的语法,并对性能有更高要求的新计算引擎进行了重大投资。虽然我们正在构建更多功能,但你今天就可以使用 ES|QL。不用担心; 查询 DSL 将会理解。
人工智能无处不在
- 经过 15 年的查询调整,我们仍然只是使用 boost: 10 来解决问题。
- 15 年来,我们一直致力于让你的日志可搜索,但你仍然不知道生产过程中发生的情况。
- 仍然最擅长找到那一条日志行...如果你还记得如何对其进行索引的话。
人工智能正在重新定义一切皆有可能 —— 从利用人工智能助手将原始日志转化为可操作的见解以实现可观察性和安全性,到利用语义理解和智能重新排名进行更相关的搜索。
这仅仅是一个开始。更多人工智能功能即将问世 —— 带来更智能的搜索、增强的可观察性和更强的安全性。 Elasticsearch 的未来不仅仅是查找数据;而是要理解它。敬请关注——最好的尚未到来。
感谢大家
感谢过去 15 年来的所有贡献者、用户和客户,是他们让 Elasticsearch 有了今天的地位。如果没有你,我们就无法做到这一点,我们非常感谢你向 Elasticsearch 发送的每一个查询。
展望未来 15 年。尽情享受吧!
Elasticsearch 包含许多新功能,可帮助你为你的用例构建最佳的搜索解决方案。深入了解我们的示例笔记本以了解更多信息,开始免费云试用,或立即在本地机器上试用 Elastic。
更多阅读:与我们一起庆祝 Elasticsearch 15 周年
原文:Elasticsearch: 15 years of indexing it all, finding what matters - Elasticsearch Labs
相关文章:
Elasticsearch:15 年来致力于索引一切,找到重要内容
作者:来自 Elastic Shay Banon 及 Philipp Krenn Elasticsearch 刚刚 15 岁了!回顾过去 15 年的索引和搜索,并展望未来 15 年的相关内容。 Elasticsearch 刚刚成立 15 周年。一切始于 2010 年 2 月的一篇公告博客文章(带有标志性的…...
DeepSeek大模型一键部署解决方案:全平台多机分布式推理与国产硬件优化异构计算私有部署
DeepSeek R1 走红后,私有部署需求也随之增长,各种私有部署教程层出不穷。大部分教程只是简单地使用 Ollama、LM Studio 单机运行量化蒸馏模型,无法满足复杂场景需求。一些操作配置也过于繁琐,有的需要手动下载并合并分片模型文件&…...
Docker 部署 MySQL-5.7 单机版
一、镜像获取 # docker hub 镜像 docker pull farerboy/mysql:5.7 # 国内阿里镜像 docker pull registry.cn-hangzhou.aliyuncs.com/farerboy/mysql:5.7 以上两个镜像二选一即可 二、运行容器 docker run -dti --name mysql \n --privileged \n --cgroupns private \n --e…...
打破AI黑盒,拥抱开源力量:基于openGauss+DeepSeek的本地知识库,打造你的专属AI助手!
引言:什么是RAG和LLM? LLM (Large Language Model,大语言模型): 就像 ChatGPT 这样的 AI 模型,拥有强大的语言理解和生成能力,但它们的知识局限于训练数据,且可能产生“幻觉”(即生成不准确的信…...
java配置api,vue网页调用api从oracle数据库读取数据
一、主入口文件 1:java后端端口号 2:数据库类型 和 数据库所在服务器ip地址 3:服务器用户名和密码 二、映射数据库表中的数据 resources/mapper/.xml文件 1:column后变量名是数据库中存储的变量名 property的值是column值的…...
visual studio导入cmake项目后打开无法删除和回车
通过Cmakelists.txt导入的项目做删除和回车无法响应,需要点击项目,然后选择配置项目就可以了...
linux运行kettle 遇到问题汇总
1、把本地的repositories.xml 放在跟目录 2、配置机台名解析 vi /etc/hosts bogon是服务器名字,根据实际情况修改 3、指定内存和字符集 vi spoon.sh -Xms1024m -Xmx2048m -Dfile.encodingUTF-8 4、执行kettle job ./kitchen.sh /rep pg_kettle /user admin /pa…...
初识camel智能体(一)
同目录下配置环境变量.env,内容如下, apikey从魔搭社区获取 QWEN_API_KEY4ff3ac8f-aebc******** 先上干货代码,主代码如下: from colorama import Forefrom camel.societies import RolePlaying from camel.utils import prin…...
如何在Excel和WPS中进行翻译
文档翻译我们可以用在线翻译工具,Excel工作表的翻译使用在线翻译工具就不是特别方便,那么如何快速进行翻译呢,我们今天介绍在不同的场景下如何利用翻译函数和Python程序来实现单元格的快速翻译。 一、在wps中进行翻译 WPS是我们常用的办公软…...
TCP的拥塞控制
什么是TCP的拥塞控制?它的工作原理是什么?为什么需要拥塞控制? TCP拥塞控制简介 想象一下,你和一群朋友在一条狭窄的小路上跑步。如果每个人都拼命跑,小路很快就会变得拥挤不堪,大家互相碰撞,…...
【前端】几种常见的跨域解决方案代理的概念
几种常见的跨域解决方案&代理的概念 一、常见的跨域解决方案1. 服务端配置CORS(Cross-Origin Resource Sharing):2. Nginx代理3. Vue CLI配置代理:4 .uni-app在manifest.json中配置代理来解决:5. 使用WebSocket通讯…...
C++之2048小游戏 第二期
不是,一天点赞就到15了?!好吧,那我更新一下 1. 逻辑 (真的有人会看吗?) 注:本文1.1章为AI生成,如有错误欢迎在评论其指出! 1.1 普通/最初逻辑 这里我们首…...
Redis7——基础篇(一)
前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一) 一、Redis定义 官网地址:Redis - The Real-time Data Platform R…...
day9手机创意软件
趣味类 in:记录趣味生活(通用) 魔漫相机:真人变漫画(通用) 活照片:让照片活过来(通用) 画中画相机:与众不同的艺术 年龄检测仪:比一比谁更年轻…...
C# Dictionary的实现原理
在 C# 中,Dictionary<TKey, TValue> 是一个基于哈希表(Hash Table)实现的键值对集合。它提供了高效的插入、删除和查找操作,平均时间复杂度接近 O(1)。下面是 Dictionary 的核心实现原理: 1. Dictionary 的核心数…...
学习笔记-人脸识别相关编程基础
通过编程实现人脸识别功能,需要掌握一定的技术基础,包括编程语言、图像处理、机器学习以及相关的库和框架: 1. 编程语言 Python:Python 是实现人脸识别最常用的语言之一,因为它有大量的库和框架支持,如 Op…...
BUU37 [DASCTF X GFCTF 2024|四月开启第一局]web1234【代码审计/序列化/RCE】
Hint1:本题的 flag 不在环境变量中 Hint2:session_start(),注意链子挖掘 题目: 扫描出来www.zip class.php <?phpclass Admin{public $Config;public function __construct($Config){//安全获取基…...
(五)Spring Boot学习——spring security +jwt使用(前后端分离模式)
一定要熟悉spring security原理和jwt无状态原理,理解了才知道代码作用。 在 Spring Security JWT 认证流程中,通常的做法是: 用户提交用户名和密码Spring Security 认证管理器 (AuthenticationManager) 进行认证如果认证成功,生…...
Java中使用EasyExcel
Java中使用EasyExcel 文章目录 Java中使用EasyExcel一:EasyExcel介绍1.1、核心函数导入数据导出数据 1.2、项目实际应用导入数据导出数据 1.3、相关注解ExcelProperty作用示例 二:EasyExcel使用2.1、导入功能2.2、导出功能 三:EasyExcel完整代…...
前沿科技改变生活新趋势
纳米技术在电子设备制造中的应用越来越广泛。这种技术能够帮助制造更小、更快、更耐用的电子产品。 举个例子,手机的处理器是其核心部件。随着纳米技术的进步,现在的处理器比以前小得多,但功能却更强。这样不仅让手机变得更轻薄,…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
