<?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[Michael Peterson - 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[Michael Peterson - 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/michael-peterson</link>
    </image>
    <link>https://www.elastic.co/cn/search-labs/author/michael-peterson</link>
    <atom:link href="https://www.elastic.co/cn/search-labs/rss/author/michael-peterson.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[cn]]></language>
    <lastBuildDate>Fri, 18 Sep 2026 21:48:02 GMT</lastBuildDate>
  <item>
    <title><![CDATA[一次查询，多个 Elasticsearch Serverless 项目：隆重推出跨项目搜索]]></title>
    <description><![CDATA[Elastic Cloud Serverless 中的跨项目搜索允许您在单个 Elasticsearch 或 ES|QL 请求中查询跨隔离项目的数据：无需重复、无需网络对等，也无需因复制日志而产生出口成本。]]></description>
    <content:encoded><![CDATA[<p><a href="https://www.elastic.co/docs/explore-analyze/cross-project-search">跨项目搜索 (CPS)</a> 现已在 Elastic Cloud Serverless 中提供。通过一个像 <code>FROM logs*</code> 这样的单个查询，您即可跨多个孤立项目搜索数据——无需网络对等连接、无需证书管理、无需数据重复。项目保留在各自的区域和云中；只有结果会返回给您。对于处理数据驻留要求、租户隔离或因复制日志而产生跨区流量成本的团队，CPS 意味着您的数据可以存储在其所属的位置，同时仍然可以作为一个整体进行查询。</p><p>Elastic Cloud Serverless 已经消除了管理基础架构和版本升级的麻烦。CPS 则更进一步。我们用简单的链接模型取代了复杂的网络对等连接和人工证书管理。现在，您可以将 Elastic Cloud Serverless 项目视为数据的简单命名空间。无论您是在应对严格的数据驻留法律、隔离租户数据，还是只是试图避免由于复制日志而产生的巨额跨区流量费，CPS 都支持您通过单次查询在数据所在的位置搜索数据。</p><p>在这篇文章中，我们将介绍 CPS 的工作原理、如何使用项目标签控制搜索，以及这种新模式与传统的<a href="https://www.elastic.co/docs/solutions/search/cross-cluster-search">跨集群搜索 (CCS)</a> 有何不同。</p><h2>如何链接项目以进行跨项目搜索</h2><p>如要开始跨项目搜索，请在 Elastic Cloud 控制台或 API 中链接项目。链接过程非常简单，而且是单向的：选择一个源项目，然后连接它应该搜索的项目。这些链接可以跨越区域、云服务提供商和项目类型，因此您的数据可以在不放弃统一搜索体验的情况下保留在原位置。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt93c05224f74204d5/6a17ea0ae8fbce58793a1989/e3edbf5f9edc9ffde2e9b7f7dd61efad2a5650e6-1999x1004.png" alt="Elastic Cloud 控制台在无服务器项目侧边栏显示跨项目搜索选项，项目概述页面高亮了“链接项目”按钮" /><p>链接创建完成后，通常会在一分钟左右生效。如果您已经打开了 Kibana，请刷新页面以查看新的跨项目搜索功能。</p><h2>跨项目搜索如何默认查询所有链接项目</h2><p>一旦项目被链接起来，跨项目搜索就会将独立的项目变成一个单一的逻辑搜索面。如果日志跨越多个项目，则类似 <code>FROM logs*</code> 这样的查询会搜索源项目和有匹配数据的任何链接项目。您不必事先为每个远程目标命名。</p><p>这比跨集群搜索有了重大改进。在 CCS 中，访问本地和远程数据通常意味着编写类似 <code>FROM logs*,*:logs*</code> 的内容。对于用户来说，这意味着查询复杂性降低。对于团队而言，这让我们离实现跨分布式数据的真正“单一视图”更近了一步。</p><p>有关更多信息，请参阅 <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-search#cps-init-search-model">CPS 搜索模型</a>文档。</p><p>如果您有兴趣了解我们如何构建此功能的技术细节，请参阅<a href="https://www.elastic.co/search-labs/blog/cross-project-search-elasticsearch-serverless">跨项目搜索 (CPS) 在 Elasticsearch Serverless 中如何工作</a>。</p><h2>通过项目路由控制搜索</h2><p>默认情况下跨所有关联项目进行搜索，对于许多工作流而言既便捷又实用；然而，并非每一次搜索都应当覆盖所有范围。跨项目搜索引入了<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-project-routing"><strong>项目路由</strong></a>，这是一种将查询限制到特定项目子集的方式。</p><p>它通过 Elastic Cloud 中定义的<a href="https://www.elastic.co/docs/deploy-manage/deploy/elastic-cloud/project-settings#project-tags">项目标签</a>工作。每个项目都有内置属性，例如其别名、云服务提供商和区域。您还可以添加自己的标签，以反映您的组织对其数字资产的划分方式，如 <code>environment:prod, environment:test</code>、业务单元或客户名称。Elasticsearch 可以使用该元数据来决定哪些链接的项目应参与搜索。</p><p>所有支持跨项目搜索的 <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#cps-supported-apis">Elasticsearch 终端</a>都接受 <code>project_routing</code> 参数。在技术预览版中，路由功能仅限于使用项目别名。例如，将 project_routing 设置为 <code>_alias:my-linked-project</code> 将会把查询仅发送到该关联项目，而设置为 <code>_alias:_origin</code> 则会将查询保留在源项目内。随着时间的推移，这个模型将为更丰富的路由功能打开大门，届时，查询范围将完美契合贵公司的逻辑架构，而不再受制于基础设施的物理布局。</p><p>请参阅<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#project-routing-examples">项目路由文档</a>了解示例和更多关于工作原理的信息。</p><h2>Kibana 空间层级的默认项目路由</h2><p>关于您的查询路由为何需要更精准的范围，举例而言，盲目查询所有链接项目可能会导致您的 Kibana 检测规则触发大量误报，或者让您现有的仪表盘数据变得极其混乱。如要解决这个问题，您可以在 Kibana 中设置 <a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-manage-scope">空间层级的默认项目范围</a>。这相当于为该特定空间设置了一个安全预设——这意味着所有仪表板、Discover 会话和告警规则都会自动遵循该设置。分析师在调查过程中如果需要更广泛的视角，仍可手动调整覆盖范围。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7c970e153a5be138/6a17ea0c7f6f15900ec09b75/c34fe7e7b290981a0d1c2d61b22a42340a015049-1999x946.png" alt="Kibana 空间设置页面显示跨项目搜索默认范围面板，选择了“所有项目”，并列出了 GCP us-central1 上的 my-origin-project-a22105 作为活动项目" /><p>这对于共享中央项目的团队（例如 MSP、MSSP 和卓越中心）来说很重要：您可以为每个团队分配自己的 Kibana 空间，并将其限制为仅查询其特定的客户项目，从而保证租户特定的体验。分析师在调查过程中如果需要更广泛的视角，仍可手动调整覆盖范围。</p><p>您在云用户界面中链接项目之前或之后可以配置此空间默认设置。但由于 CPS 在链接建立后立即开启“全局搜索”行为，因为先设置 Kibana 默认值可以确保现有的检测规则不会突然在海量全球数据下产生误报或导致团队不堪重负。</p><h2>在搜索中使用标签</h2><p>除了使用标签进行项目路由，您还可以在 ES|QL 和搜索查询中使用标签。这可以用来识别结果集中每条记录或行的来源，或者按这些标签进行排序、过滤或聚合。</p><p>例如，如果您想查看 ES|QL 响应中每一行数据来自哪个项目，可以将 <code>_project._alias</code> 标签添加到 ES|QL 查询中：</p><p>这样一来，您就可以在查询的其他部分（包括 KEEP 子句）中使用 “_project._alias”，在查询的其他部分（包括 KEEP 子句）中，从而使其呈现在最终结果中。</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt25542e1644a60e17/6a17ea0da29299830ed02cc5/e8969965c8cff25d916a3620d047975f4a28185d-1612x524.png" alt="Kibana Discover 显示跨项目搜索结果，其中“_project._alias”列标识了每个日志条目来自哪个 Elastic Serverless 项目。" /><p>有关在查询中使用标签的更多示例，请参阅<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-tags#tag-queries">此文档</a>，其中介绍了如何在搜索 API 和 ES|QL 中使用标签。</p><p>如果您有兴趣了解如何为搜索和 ES|QL 查询添加标签的技术细节，请参阅<a href="https://www.elastic.co/search-labs/blog/serverless-cross-project-search-project-tags-routing">在 Elasticsearch Serverless 中使用项目标签和路由加快跨项目搜索</a>。</p><h2>跨项目搜索如何平等地处理源项目和链接项目</h2><p>如果您用过CCS，您可能知道本地群集与远程群集的处理方式有所不同。</p><ul><li><p>本地群集错误的处理方式与远程群集错误的处理方式不同。特别是，CCS 使用 <a href="https://www.elastic.co/docs/explore-analyze/cross-cluster-search#skip-unavailable-clusters">skip_unavailable</a> 设置来控制来自远程群集的错误的行为方式，但本地群集不存在该设置。 </p></li><li><p>本地集群没有“集群别名”，因此索引表达式 <code>*:logs*</code> 搜索所有远程项目，但会跳过本地集群。如要同时搜索两者，您必须使用索引表达式 <code>logs*,*:logs*</code>。</p></li></ul><p>在 CPS 中，我们已经改变了这两种行为，使原始项目和链接项目处于更加平等的地位。</p><p>首先，在 Elastic Cloud Serverless 中不使用 <code>skip_unavailable</code> 设置。相反，您可以通过在 _search 或 _async_search 中使用 <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search#operation-search-allow_partial_search_results">allow_partial_search_results</a> 参数，或在 ES|QL 中使用 <a href="https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-esql-query#operation-esql-query-allow_partial_results">allow_partial_results</a> 参数，来控制是否希望在搜索时获得部分结果。</p><p>其次，在 Elastic Cloud Serverless 中，源项目有一个项目别名。它在 Elastic Cloud 中定义，就像所有项目标签一样。因此，在 CPS 中，下面的所有查询都是等价的，它们针对的都是有“日志”索引的所有项目：</p>POST logs/_search

POST *:logs/_search


POST logs/search 
{
  "project_routing": "_alias:*"
}
<p><em>注意</em>：在针对缺失索引的错误处理方面，<em>限定</em>索引表达式 <code>*:logs</code> 和<em>非限定</em>表达式 <code>logs</code> 之间存在重要区别。有关详细信息，请参阅公共文档中的<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search/cross-project-search-search#search-expressions">非限定和限定搜索表达式</a>。</p><h2>跨项目搜索的访问控制和安全模型</h2><p>Elastic 创建了一种新的基于云的安全模型，即<a href="https://www.elastic.co/docs/explore-analyze/cross-project-search#security">通用身份和访问管理</a> (UIAM)，它实现了跨项目搜索的一个关键原则：<strong>您可以访问的项目和数据不依赖于您访问它的位置</strong>。</p><p>无论您是从主要的可观测项目还是从临时分析项目启动搜索，您对链接数据的访问都保持一致，因为这些访问权限已在集中位置进行了统一定义。该云端认证与授权模型利用云 UIAM 服务，确保无论源自哪个项目，您的访问权限均保持统一。</p><h2>试用跨项目搜索</h2><p>最终，Elastic Cloud Serverless 和 CPS 可共同<strong>减少操作摩擦，为您提供更多基于逻辑而非物理或操作因素来组织数据的选择。</strong>跨项目搜索允许您的用户纯粹关注数据的逻辑组织，提供统一的搜索体验，而不受过去物理复杂性的限制。</p>]]></content:encoded>
    <link>https://www.elastic.co/search-labs/blog/elasticsearch-cross-project-search-serverless</link>
    <guid isPermaLink="true">https://www.elastic.co/search-labs/blog/elasticsearch-cross-project-search-serverless</guid>
    <category><![CDATA[Elastic Cloud Serverless]]></category>
    <dc:creator><![CDATA[Michael Peterson,Najwa Harif]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc83356ff51c8c398/6a17ea080b0bed381fdd35e9/c43c52492a7d6158487958becc31f57cb81b168d-720x420.png" length="0" type="image/png"/>
    <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>