推出 Elasticsearch 查询语言 (ES|QL)

这篇具有很好参考价值的文章主要介绍了推出 Elasticsearch 查询语言 (ES|QL)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:Costin Leau

推出 Elasticsearch 查询语言 (ES|QL),Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎

我很高兴地宣布,经过大约一年的开发,Elasticsearch 查询语言 (ES|QL) 已准备好与世界共享,并已登陆 Elasticsearch 存储库。 ES|QL 是 Elasticsearch® 原生的强大声明性语言,专为可组合性、表现力和速度而设计。

为什么要另一种语言?

Elasticsearch 支持多种语言,从古老的 queryDSL 到 EQL、KQL、SQL、Painless、Canvas/Timelion 等,随着其采用率的增加,受众及其需求也在增加。 它不再只是 “全文搜索”。 它涉及很多事情,例如日志探索、威胁搜寻、报告、警报和自定义处理。

作为我们自己产品的消费者,我们想要一种与 Elasticsearch 交互的单一、整合的方式,这种方式可以使全面的计算功能接近数据,并且无需昂贵地传输到外部系统进行自定义处理。

以下是使用 MySQL 演示 employees 数据集(进行了大量修改)从测试套件中获取的 ES|QL 查询:

  FROM employees
| EVAL hired_year = TO_INTEGER(DATE_FORMAT(hire_date, "YYYY"))
| WHERE hired_year > 1984
| STATS avg_salary = AVG(salary) BY languages
| EVAL avg_salary = ROUND(avg_salary)
| EVAL lang_code = TO_STRING(languages)
| ENRICH languages_policy ON lang_code WITH lang = language_name
| WHERE NOT IS_NULL(lang)
| KEEP avg_salary, lang
| SORT avg_salary ASC
| LIMIT 3

返回类似于以下内容的响应:

{
  "columns": [
    {"name": "avg_salary", "type": "double"},
    {"name": "lang",       "type": "keyword"}
  ],
  "rows": [
    ["43760.0", "Spanish"],
    ["48644.0", "French"],
    ["48832.0", "German"]
  ]
}

单个 ES|QL 查询执行过滤、处理、分组、重命名、排序、查找和列修剪。

查询从上到下流动,就像数据一样。 人们可以根据需要链接任意数量的命令,对它们重新排序,并使用内置函数或其自身的评估。 ES|QL 提供了统一的查询体验,比现有的查询界面更简单、更强大,并且将继续可用。

专用查询引擎

ES|QL 不仅仅是一种语言,还是 Elasticsearch 的成熟、专业的查询和计算引擎。 没有对 QueryDSL 的翻译或转译:所有 ES|QL 查询都经过词法分析和解析、解析和语义分析、验证和优化,然后是针对集群中的数据进行分布式执行的规划阶​​段。 指定的目标节点负责本地执行,并通过使用 ES|QL 基础设施执行自己的本地重新规划来利用本地数据特征。

ES|QL 带来了一种在设计时考虑到性能的新执行引擎,该引擎一次对块而不是对每行进行操作,以矢量化和缓存局部性为目标,并支持专业化和多线程。 它是一个独立于现有 Elasticsearch 聚合框架的组件,具有不同的性能特征。 在我们当前的基准测试中,几个聚合有了显着的改进(下图中的值越小越好)。

推出 Elasticsearch 查询语言 (ES|QL),Elasticsearch,Elastic,elasticsearch,大数据,搜索引擎

目标是提供不同的功能,例如执行多个链式分组:

POST /_query?format=txt
{
 "query" : """
  FROM employees
| STATS c = COUNT(emp_no) BY languages
| STATS most_speakers_of_a_lang = MAX(c)
 """
}

上面查询显示的结果为:

most_speakers_of_a_lang
-----------------------
21

请留意未来的博文,我们将探讨 ES|QL 的功能、设计决策和架构。

我在哪里可以得到它?

ES|QL 代码目前在功能分支上可用,并将作为 Elasticsearch 中的技术预览版发布。 这是一项免费功能,可供所有人使用。 每天快照很快就会可供下载,因此请随时查看代码并自行构建。 尝试一下 ES|QL 并开始探索本地数据 - 请阅读此处的文档。

因为我们正处于 ES|QL 的早期阶段,可能存在一些未解决的问题、障碍,甚至是错误,请提出问题。 我们迫不及待地想与 Elasticsearch 社区分享 ES|QL!

我们代表 ES|QL 团队期待您的反馈!

本文中描述的任何特性或功能的发布和时间安排均由 Elastic 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。

原文:https://www.elastic.co/blog/elasticsearch-query-language-esql文章来源地址https://www.toymoban.com/news/detail-640316.html

到了这里,关于推出 Elasticsearch 查询语言 (ES|QL)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Elasticsearch:ES|QL 查询中的元数据字段及多值字段

    在今天的文章里,我来介绍一下 ES|QL 里的元数据字段以及多值字段。我们可以利用这些元数据字段以及多值字段来针对我们的查询进行定制。这里例子的数据集,请参考文章 “Elasticsearch:ES|QL 快速入门”。 ES|QL 可以访问元数据字段。 目前支持的有: _index :文档所属的索引

    2024年02月04日
    浏览(61)
  • Elasticsearch:ES|QL 动手实践

    在我之前的文章 “Elasticsearch:ES|QL 查询语言简介”,我对 Elasticsearch 的最新查询语言 ES|QL 做了一个简单的介绍。在今天的文章中,我们详细来使用一些例子来展示 ES|QL 强大的搜索与分析功能。 如果你还没有安装好自己的 Elasticsearch 及 Kibana,请参考如下的链接来进行安装:

    2024年02月03日
    浏览(40)
  • Elasticsearch:从 ES|QL 到 PHP 对象

    作者:来自 Elastic Enrico Zimuel 从 elasticsearch-php v8.13.0 开始,你可以执行 ES|QL 查询并将结果映射到 stdClass 或自定义类的 PHP 对象。 ES|QL 是 Elasticsearch 8.11.0 中引入的一种新的 Elasticsearch 查询语言。 目前,它在技术预览版中可用。 它提供了一种强大的方法来过滤、转换和分析存

    2024年04月13日
    浏览(41)
  • Elasticsearch:从 ES|QL 到 Python 数据帧

    在我之前的文章 “Elasticsearch:ES|QL 查询展示”,我展示了如何在 Kibana 中使用 ES|QL 对索引来进行查询及统计。在很多的情况下,我们需要在客户端中来对数据进行查询,那么我们该怎么办呢?我们需要使用到 Elasticsearch 的客户端。在今天的文章中,我们来展示如何使用 Pyt

    2024年03月19日
    浏览(74)
  • Python语言,ES(Elasticsearch)基础查询

    https://blog.csdn.net/y472360651/article/details/76652021 https://www.cnblogs.com/bainianminguo/articles/12763099.html

    2024年02月11日
    浏览(47)
  • ElasticSearch第三讲:ES详解 - Elastic Stack生态和场景方案

    本文是ElasticSearch第三讲,在了解ElaticSearch之后,我们还要了解Elastic背后的生态 即我们 常说的ELK ;与此同时,还会给你展示ElasticSearch的 案例场景 ,让你在学习ES前对它有个全局的印象。 Beats + Logstash + ElasticSearch + Kibana 如下是我从官方博客中找到图,这张图展示了ELK生态以

    2024年02月07日
    浏览(40)
  • Elastic Stack 8.12:通过对 ES|QL 等的改进增强了向量搜索

    作者:来自 Elastic Tyler Perkins, Shani Sagiv, Gilad Gal, Ninoslav Miskovic Elastic® Stack 8.12 构建于 Apache Lucene 9.9(有史以来最快的 Lucene 版本)之上,基于我们对标量量化和搜索并发性的贡献,为文本、向量和混合搜索带来了巨大进步。 此版本还优化了 Elasticsearch® 中的查询并行化以及

    2024年01月22日
    浏览(44)
  • 原生语言操作和spring data中RestHighLevelClient操作Elasticsearch,索引,文档的基本操作,es的高级查询.查询结果处理. 数据聚合.相关性系数打分

    ​ Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。Elasticsearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elasti

    2024年02月05日
    浏览(87)
  • 「Elasticsearch 」Es复合查询

    目录 Bool 查询   Dis_max 查询  Function_score 查询 Nested 查询  Geospatial 查询  1. Geo Point 查询 2. Geo Shape 查询 Elasticsearch(简称为ES)是一个基于Lucene的分布式搜索和分析引擎,它提供了丰富的查询语言和API,可以用于构建高性能、可扩展的全文搜索、日志分析和数据可视化等应用

    2024年02月13日
    浏览(40)
  • 【ElasticSearch笔记】ES基本查询

    目录 一、简介 ES与关系型数据库对比 文本分析 倒排索引 二、基本查询 空查询 相关性 查询与过滤 1. 查询与\\\"first blog\\\"字段最佳匹配的文档 2. 搜索博客等级(level)大于等于2, 同时发布日期(post_date)是2018-11-11的博客 结构化搜索 1. 精确值查找(term) 2. 多个精确值查找(terms) 3

    2024年01月21日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包