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
方法)是否有任何限制?
- 我应该通过
.create
索引创建 index
并用正确的 mapping
标记每个字段,还是我可以像往常一样在 Elastic 中编写它们并根据结果在 Kibana 中连接必要的字段?
- 在这种情况下,如果我必须将它用于图表,如何正确使用
join
关系,我是否应该使用它们?
- 我应该为可执行的图形聊天设置两个不同的索引,还是使用面向文档的方式更好:
{
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 开始探索数据非常容易。
- 在 Kibana 中创建一个跨越索引
pets
和 owners
的索引模式
- 打开图表应用程序,select您刚刚创建的索引模式
- Select两个字段
petName
和ownerId
- 点击“图表”,您将开始看到数据之间的联系。顶点的标签将是 pet/owner ID,顶点将被连接
这是根据您的数据显示的示例:
我想就 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
方法)是否有任何限制?
- 我应该通过
.create
索引创建index
并用正确的mapping
标记每个字段,还是我可以像往常一样在 Elastic 中编写它们并根据结果在 Kibana 中连接必要的字段? - 在这种情况下,如果我必须将它用于图表,如何正确使用
join
关系,我是否应该使用它们? - 我应该为可执行的图形聊天设置两个不同的索引,还是使用面向文档的方式更好:
{
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 开始探索数据非常容易。
- 在 Kibana 中创建一个跨越索引
pets
和owners
的索引模式
- 打开图表应用程序,select您刚刚创建的索引模式
- Select两个字段
petName
和ownerId
- 点击“图表”,您将开始看到数据之间的联系。顶点的标签将是 pet/owner ID,顶点将被连接
这是根据您的数据显示的示例: