<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Libby Lin - Elasticsearch Labs]]></title>
    <description><![CDATA[Articles and tutorials from the Search team at Elastic]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Libby Lin - Elasticsearch Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt1121c0bf0e8a6e65/6a88da6340a1841030ef456f/search-labs-thumbnail.png</url>
      <link>https://www.elastic.co/cn/search-labs/author/libby-lin</link>
    </image>
    <link>https://www.elastic.co/cn/search-labs/author/libby-lin</link>
    <atom:link href="https://www.elastic.co/cn/search-labs/rss/author/libby-lin.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[cn]]></language>
    <lastBuildDate>Mon, 28 Sep 2026 05:13:02 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Elasticsearch 的 ES|QL 编辑器体验与 OpenSearch 的 PPL 事件分析器对比]]></title>
    <description><![CDATA[了解 ES|QL Editor 的高级功能如何加速您的工作流程，与 OpenSearch 的 PPL 事件分析器的手动方法形成直接对比。 
]]></description>
    <content:encoded><![CDATA[<p><a href="https://www.elastic.co/blog/getting-started-elasticsearch-query-language">Elasticsearch 查询语言</a>（ES|QL）自 8.14 版起全面可用，它引入了一种专为搜索、可观察性和安全调查而设计的查询语言和引擎。与大量借鉴现有管道式语言的 OpenSearch 管道式处理语言 (PPL) 不同，ES|QL 是从头开始构建的，专注于 Kibana 平台的完善性、可用性和无缝集成。</p><p>在本博客中，我们将通过比较 Elasticsearch 9.1 中的 ES|QL 编辑器和 OpenSearch 3.2 中事件分析器（简称 PPL）中的 PPL，来探讨开发人员对 ES|QL 编辑器的体验。</p><p>两者之间的差异很快就显现出来：ES|QL 编辑器提供智能自动完成、上下文帮助、推荐查询和跨集群查询支持，不仅能帮助初学者，还能帮助专家级用户。针对 ES|QL 编写的周到设计还体现在通过 Kibana 工作流（例如最近查询）进行的集成查询检查和整体集成。</p><p>相比之下，PPL 缺乏对自动完成、上下文引导和分布式查询的类似支持，因此学习曲线更陡峭，试错更多。</p><h2>使 ES|QL 更易于学习和使用</h2><p>开始使用一种新的查询语言往往会让人感到不知所措。ES|QL编辑器直接内置于<strong> Kibana Discover</strong> 中，不仅支持查询创建和调试，还能加快熟悉和掌握该语言的速度，从而简化这一过程。由于编辑器有助于减少日常工作中的摩擦，您可以将注意力从语法和试错转移到解决问题上。您可以<a href="https://www.elastic.co/search-labs/blog/improving-esql-editor-experience-in-kibana">在这里</a>了解更多有关这些原则以及我们如何将其融入编辑器的信息。</p><p>这种编辑器体验并不局限于 Discover；它是一种可重复使用的代码模块，我们正在努力<strong>将其集成到 Kibana 的其他部分</strong>，如仪表盘、Kibana 警报和 Kibana 地图。</p><h3>智能自动完成：加速创建查询</h3><p>ES|QL 编辑器中的自动完成功能非常全面，可为兼容函数、参数、字面量甚至嵌套函数提供建议，而这正是 PPL 所缺乏的功能。事实上，它已经从头开始重建，正如<a href="https://www.elastic.co/search-labs/blog/esql-autocomplete-rebuilt">这里所</a>概述的那样。</p><p>如<a href="https://www.elastic.co/search-labs/blog/improving-esql-editor-experience-in-kibana">这里</a>所述，验证会在用户键入时运行，并对字段提出建议，还会在出现错误时通知用户。这减轻了用户的心理负担，有助于在查询创建过程的早期防止错误。</p><p>举例说明：在此嵌套中建议使用字段和兼容函数：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdb186fc80dcc66f5/6a17f311e9ea8737a5a9c720/a4d7b2819c34fab31bced7873257b8932b623fba-1502x473.png" alt="字段和兼容函数嵌套建议。" /><p>这是 PPL 不支持的：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt250ae79e8f33b598/6a17f3127f6f150d3dc09c74/6f3a89b1255b8a3a762022a2704fdd1c2987e5f9-1013x335.png" alt="PPL 不支持的功能。" /><p>即使有智能自动完成功能指导你使用兼容函数、参数和嵌套函数，你可能还是希望对可用选项有更深入的了解。这正是 ES|QL 编辑器的上下文帮助变得非常有价值的地方，它提供即时的编辑帮助，以澄清和加强您的查询开发。</p><h3>触手可及的上下文帮助</h3><p>点击 Ctrl 键-空格键，即可获得有关自动完成功能生成的命令的其他信息。立即出现一个面板，显示有关函数、参数或字段的详细信息。这种轻量级交互让开发人员始终处于工作流程中，为他们提供及时指导，而不会迫使他们离开编辑器或搜索外部文档。这样可以减少在语法查找上浪费的时间，并有助于在常见错误发生之前加以预防。</p><p>下面是它的实际效果：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt407e42acc7f53f15/6a17f3134b055d128d43231a/2797f9b5e002dbd83c46475c4ed4dcdc86144a01-1343x522.gif" alt="由自动完成功能生成的命令，带有 Ctrl-空格，可提供更多上下文信息。" /><p>PPL 缺乏这种级别的嵌入式指导，用户只能依赖外部文档或反复试验。这种缺失不仅仅是功能上的缺失，它还凸显了设计理念上更广泛的差异。ES|QL 优先考虑贴心的上下文感知体验，以适应用户的数据和工作流程。随着查询复杂度的增加，这种差异会变得更加明显，从而使 ES|QL Editor 成为一个更高效、更可靠的学习和生产环境。</p><h3>建议使用可感知数据上下文的查询</h3><p>ES|QL 编辑器会根据您正在处理的数据（如日志）自动提供推荐查询。它不是提供一个空白的编辑器，而是为常见用例提供最相关的出发点。选择 "推荐查询 "可生成一个标准查询，该查询可立即使用，并可根据需要进一步完善。这种方法加快了查询的开发速度，尤其是对于尚未掌握全部语法的新用户而言。</p><p>下面是一个用户选择 "检测变化点 "查询的示例：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfc6c41f9e1e3cb40/6a17f3156864a43791b688d0/3284c9340d41298820fbf8c7702abad946b48248-925x370.gif" alt="当用户选择 &quot;检测变化点 &quot;查询时会发生什么？" /><p>将其与 PPL 的经验进行比较：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt6511bb51659feaf3/6a17f3166864a427c2b688d4/5c3e59dadc6210aede3366bdd081887bcbae7a54-969x798.png" alt="只有基本自动完成功能的 PPL 体验。" /><p>相比之下，PPL 在这里只提供基本的自动完成功能，让您在没有上下文或结构的情况下拼凑查询。缺乏指导可能会导致挫败感和反复试验。有了 ES|QL Editor 的数据感知推荐查询，您就可以避免从头开始或死记硬背常规任务的语法。编辑器可减少认知负荷，有助于防止出错，让你专注于解决问题和更广泛的目标，如运行跨集群搜索，而不是费力地构建查询。</p><h2>直观的跨集群查询</h2><p>ES|QL 编辑器的自动完成功能依然卓越，即使在使用<a href="https://elastic.aiops.work/search-labs/blog/esql-cross-cluster-search">CCS</a> 处理多个远程群集时也是如此。原因就在这里：</p><h3>ES|QL 编辑器甚至可跨集群提供无缝自动完成功能</h3><p>ES|QL 编辑器中的自动完成功能不仅支持群组名称，还支持<strong> 本地和远程索引</strong>。正如<a href="https://www.elastic.co/search-labs/blog/esql-cross-cluster-search">本文</a>所介绍的那样，这要归功于协调器节点架构，它可以帮助验证和生成查询计划，然后发送给本地节点，执行查询并汇总结果，最后再发送给用户。在不输入远程群集全名的情况下，键入": "可启动远程索引的自动完成程序。而且，您也不局限于前缀。</p><p>这样就可以轻松地在分布式数据集上发现和查询数据，而无需记住命名约定或切换上下文。</p><p>下面是一个示例，用户只需键入 "clu:g "即可定位远程索引：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4fadd61aa6d2a212/6a17f3186864a4a385b688d8/bae1fbacb2320e4d07f41291ea57c9bcf15bf8a5-1092x523.gif" alt="例如，用户只需键入 &quot;clu:g &quot;即可找到远程索引。" /><p>与此形成鲜明对比的是，PPL 只为本地索引提供基本的补全功能，建议仅限于前缀匹配。远程群组必须手动键入，这会增加出错的可能性，并减慢查询创建速度。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt3949402084cf303a/6a17f31a6864a482b1b688dc/e38793c0cc7c6cc7dc0fd4779a3e24ffbb6e0838-1094x263.gif" alt="举例说明 PPL 如何仅为本地索引提供基本的补全，建议仅限于前缀匹配。" /><p>PPL 仅为本地索引提供补全，建议仅限于前缀：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltcaa81c403f354e1f/6a17f31c6864a4e620b688e0/5310f824942f94485cace2558ea72c56a0971e22-862x197.png" alt="另一个例子说明了 PPL 如何仅为本地索引提供补全，并且建议仅限于前缀。" /><p>ES|QL 更进一步，<a href="https://www.elastic.co/docs/solutions/search/cross-cluster-search#exclude-problematic-clusters"> 允许</a> 直接使用负号 排除 ，让您可以精细控制哪些集群参与探索。这种功能在处理混合环境时尤为重要，因为在混合环境中，您可能希望在跨集群调查时包含或省略特定的数据集。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf0ca78bfbceb60ae/6a17f31d6864a4199bb688e4/f23ca17f58fbf8e6d27419c028274cb91f30a549-937x78.png" alt="跨专题组调查的编码示例。" /><p>这些增强功能反映了 Elasticsearch 对减少跨集群搜索摩擦的广泛关注。通过使分布式查询更易于构建和管理，ES|QL Editor 使分析师和开发人员能够专注于洞察力而不是语法，而 PPL 则将更多的负担留给了用户。ES|QL 编辑器不仅简化了跨集群查询的创建，还提供了检查这些查询执行情况的工具，确保跨多个集群的透明度和性能监控。</p><h3>使用 Inspect 工具分析跨群集搜索详情</h3><p>检查工具可从 ES|QL 编辑器访问，旨在提供元数据，明确说明所有集群的查询执行情况。该功能已在 Kibana Discover 中启用，并可在查询检查器中直接访问，使您能够分析搜索进度和详细信息，这对于<strong>跨集群搜索</strong><a href="https://www.elastic.co/docs/reference/query-languages/esql/esql-cross-clusters">(CCS</a>) 尤为重要。该功能可帮助您监控搜索进度，了解查询在分布式数据集上的执行情况。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf79eaeedac3600b9/6a17f31fabe0f26f06dfeb4b/5d1c204f70171526fff924c30ea8ad08121a0f8d-919x523.gif" alt="分析跨集群搜索细节的检查工具。" /><p>这种对查询执行的详细可视性，尤其是对复杂的分布式搜索的可视性，使您能够确保最佳性能和故障排除。</p><p>除了了解单个查询的机制外，ES|QL 编辑器还通过在整个 Kibana 平台上深度嵌入基本功能，促进无缝、不间断的工作流程，从而进一步增强用户体验。</p><h2>使用 ES|QL 和 Kibana 的统一查询体验</h2><p>查询驱动分析中最常见的摩擦源之一是上下文切换。您经常需要回忆已经写过的查询。每一次中断都会打断注意力，延缓调查进度。ES|QL Editor 通过在 Kibana 中集成查询历史记录来解决这一问题。</p><h3>最近的查询</h3><p>ES|QL 编辑器中的 "<a href="https://www.elastic.co/search-labs/blog/esql-piped-query-language-goes-ga">最近查询 "</a>功能可让您即时访问过去的工作，从而帮助您保持工作流畅。在 Discover 的 ES|QL 编辑器中，您可以查看、重新运行最近的 20 个查询，并将其设为星级，确保只需点击一下就能完成常用或复杂的查询。这些保存的查询还可在 Kibana 中使用，并与仪表盘、可视化、警报和地图集成，因此您无需离开当前屏幕或从头开始重新输入命令。这减少了重复性工作，加快了调查速度，并最大限度地降低了出错风险。</p><p>例如，用户可以在发现中使用 ES|QL 编辑器中的最近查询（并将其设为星级）：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt49033a46a0805ec8/6a17f321e9ea87a505a9c724/eb0f9fe37b92dec421c394d31ae7d90afebe062e-1421x793.png" alt="在 discover 中使用 ES|QL 编辑器中的最近查询的示例（以及如何将其列为星级查询）。" /><p>最近的查询已集成到仪表板中：</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta2f7c745cdc5e5f1/6a17f323a2929932a1d02da9/b84cd3a9bdec58812360d2aba4fc7713363ee3cc-1411x797.png" alt=" 将最近的查询整合到仪表板中。" /><p>PPL 不提供类似功能，用户只能依靠手动复制粘贴或外部注释来重复使用查询。这种区别不仅仅是为了方便；它反映了 Elastic 将 ES|QL 打造为 Kibana 生态系统中真正集成语言的战略。通过最近查询等功能，ES|QL 编辑器不仅简化了日常工作流程，还为技术预览版中更高级的功能奠定了基础，确保用户体验不断发展。</p><h2>结论</h2><p>ES|QL 不仅仅是一种语法，它还反映了 Elastic 改进用户搜索、探索和分析数据方式的战略。通过智能自动完成、上下文感知的推荐查询、编辑器内指导以及检查等工具，ES|QL Editor 可加快学习速度、减少错误并简化跨集群分析等复杂的工作流程。它与 Kibana 集成，可将查询与仪表盘、警报和可视化无缝连接，从而实现不间断的工作流程。</p><p>总之，ES|QL 不仅仅是另一种管道语言；它是一个经过深思熟虑设计的查询引擎，搭配直观的用户界面，从根本上重新定义了您与数据交互的方式，提供了一种集成、智能和不断发展的体验，与 OpenSearch PPL 通常按部就班、缺乏指导的性质形成鲜明对比。</p><h2>下一步行动</h2><p>本博客仅涉及 ES|QL 的表面。今后的文章将深入探讨与 OpenSearch PPL 的比较，并探索地理空间、可视化和即将推出的编辑器功能，如<a href="https://www.elastic.co/docs/explore-analyze/dashboards/add-controls">控制</a>（已在仪表板中提供）、多数据探索选项卡、后台搜索、更丰富的查询历史和 FUSE。</p><h2>立即试用 ES|QL</h2><p>您可以通过<a href="https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/create-serverless-project"> 免费试用 在完全托管的</a> Elasticsearch<a href="https://www.elastic.co/cloud/serverless"> Serverless</a> 项目中查看 ES|QL。从 8.11 开始的版本中也有该功能，但在<a href="https://www.elastic.co/blog/whats-new-elastic-9-1-0">8.19 和 9.1</a> 中体验最佳。</p><p>只需一条命令，几分钟即可在本地环境中开始使用：</p>curl -fsSL https://elastic.co/start-local | sh]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/opensearch-vs-elasticsearch-ppl-esql</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/opensearch-vs-elasticsearch-ppl-esql</guid>
    <category><![CDATA[ES|QL]]></category>
    <dc:creator><![CDATA[Libby Lin,George Kobar]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte51b193824ff8084/6a17f3257f6f154b7bc09c7c/f1ff4ff4a00b3e5b084d4116cea6cabc82a2d816-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>