ELK:Kibana 图表和弹性搜索映射

ELK: Kibana graph chart & elastic-search mapping

我想就 Kibana 的图形可视化和使用 join types 的 ElasticSearch 映射征求意见。

我有不同的实体,比如宠物(我们称它们为主要实体)和它们的主人(次要实体)。

我正在 PETS 索引中插入宠物,并将主人放在 OWNERS 的单独索引中。所以有些宠物有一个 属性 可以 connected/join 与以下(只有一个)主人。

像这样:

宠物

{ 
  id: 1,
  name: 'Pikacho',
  ownerId: 1
}

所有者

{ 
  id: 1,
  name: 'Rachel',
  petId: 1
}

Actually I am free to use every structure I want, even nested owner documents inside every pet. The real question is how to achieve the best case for graph data

所有者实际上是一个独立的实体,我的应用程序的业务逻辑中不需要它们,但有时,作为用户,我想通过图表检查 Kibana 的 UI 有多少宠物只有一个主人等等。

所以我的问题是:如果我想构建 graph chart,通过 ElasticSearch 驱动程序为 node.js 插入数据(使用 .index 方法)是否有任何限制?

{
  id: 1,
  name: 'Pikachoo',
  owner: {
    id: 1,
    name: 'Rachel'
  }
}

我的 Elastic 和 Kibana 版本是 7.16+(当前)我很乐意提供任何示例。

Graph application in Kibana and the underlying Graph API 的好处是它们不需要您以任何特定方式索引数据,这意味着它们不利用 join 字段或父子或根本没有嵌套关系。

Graph 用于创建连接的唯一方法是文档之间的公共值,并且基于这些值,它可以在索引中创建相关术语的网络。

使用 Graph 开始探索数据非常容易。

  1. 在 Kibana 中创建一个跨越索引 petsowners
  2. 的索引模式
  3. 打开图表应用程序,select您刚刚创建的索引模式
  4. Select两个字段petNameownerId
  5. 点击“图表”,您将开始看到数据之间的联系。顶点的标签将是 pet/owner ID,顶点将被连接

这是根据您的数据显示的示例: