正在加载

术语连接

Elastic Stack Serverless

使用术语连接来增强矢量要素的属性,以便进行数据驱动样式和更丰富的工具提示内容。

术语连接可用于以下矢量图层

  • 已配置的 GeoJSON
  • 文档
  • EMS 边界

分级统计图层示例使用术语连接按 Web 日志流量为世界各国着色。较深的阴影象征着具有更多 Web 日志流量的国家/地区,较浅的阴影象征着流量较少的国家/地区。

gs add cloropeth layer

术语连接使用共享键将矢量要素(左侧源)与 Elasticsearch 术语聚合(右侧源)的结果相结合。

分级统计图示例使用共享键,ISO 3166-1 alpha-2 代码,来连接世界各国和 Web 日志流量。 ISO 3166-1 alpha-2 代码是一种国际标准,用于通过两位字母的国家/地区代码标识国家/地区。 例如,瑞典的 ISO 3166-1 alpha-2 代码是 SE

terms join shared key config

术语连接的左侧源是Elastic Maps Service (EMS) 世界各国。此源的矢量要素由 EMS 提供。您也可以使用自己的矢量要素。

在以下示例中,iso2 属性定义了左侧源的共享键。

{
  geometry: {
    coordinates: [...],
    type: "Polygon"
  },
  properties: {
    name: "Sweden",
    iso2: "SE"
  },
  type: "Feature"
}

右侧源使用 Kibana 示例数据集“Sample web logs”。在此数据集中,geo.src 字段包含来源国家/地区的 ISO 3166-1 alpha-2 代码。

术语聚合geo.src 对示例 Web 日志文档进行分组,并计算每个术语的指标。

METRICS 配置定义了两个指标聚合

  • 术语桶中所有文档的计数。
  • 术语桶中所有文档的字段“bytes”的平均值。
terms join metric config

右侧源不提供单个文档,而是提供术语聚合中的指标。指标是根据以下示例 Web 日志文档计算得出的。

{
  bytes: 1837,
  geo: {
    src: "SE"
  },
  timestamp: "Feb 28, 2019 @ 07:23:08.754"
},
{
  bytes: 971,
  geo: {
    src: "SE"
  },
  timestamp: "Feb 27, 2019 @ 08:10:45.205"
},
{
  bytes: 4277,
  geo: {
    src: "SE"
  },
  timestamp: "Feb 21, 2019 @ 05:24:33.945"
},
{
  bytes: 5624,
  geo: {
    src: "SE"
  },
  timestamp: "Feb 21, 2019 @ 04:57:05.921"
}

术语聚合为每个唯一的 geo.src 值创建一个桶。为桶中的所有文档计算指标。

以下显示了一个术语聚合响应示例。请注意 key 属性,它定义了右侧源的共享键。

{
  aggregations: {
    join: {
      buckets: [
        {
          doc_count: 4,
          key: "SE",
          avg_of_bytes: {
            value: 3177.25
          }
        },
        ...
      ]
    }
  }
}

该连接将每个术语聚合桶的指标添加到具有相应 ISO 3166-1 alpha-2 代码的世界国家/地区要素。地图上不显示没有相应术语聚合桶的要素。

世界国家/地区的要素现在具有两个额外的属性

  • 源自世界国家/地区的 Web 日志流量计数
  • 源自世界国家/地区的 Web 日志流量的平均字节数

分级统计图示例使用 Web 日志流量计数按 Web 日志流量象征国家/地区。

© . All rights reserved.